1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/**************************************************************************
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
35c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas.
4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * All Rights Reserved.
5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Permission is hereby granted, free of charge, to any person obtaining a
7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * copy of this software and associated documentation files (the
8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * "Software"), to deal in the Software without restriction, including
9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * without limitation the rights to use, copy, modify, merge, publish,
10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distribute, sub license, and/or sell copies of the Software, and to
11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * permit persons to whom the Software is furnished to do so, subject to
12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * the following conditions:
13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * The above copyright notice and this permission notice (including the
15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * next paragraph) shall be included in all copies or substantial portions
16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * of the Software.
17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
195c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project *
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project **************************************************************************/
27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef TR_CONTEXT_H_
29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define TR_CONTEXT_H_
30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "pipe/p_compiler.h"
33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "util/u_debug.h"
34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "pipe/p_context.h"
35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "tr_screen.h"
37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus
39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C" {
40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectstruct trace_screen;
44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectstruct trace_context
46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project   struct pipe_context base;
48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project   struct pipe_context *pipe;
50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project};
51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectstatic INLINE struct trace_context *
54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttrace_context(struct pipe_context *pipe)
55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{
56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project   assert(pipe);
57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project   return (struct trace_context *)pipe;
58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}
59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectstruct pipe_context *
62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttrace_context_create(struct trace_screen *tr_scr,
63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project                     struct pipe_context *pipe);
64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
655c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
665c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifdef __cplusplus
67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}
68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif
69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
705c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif /* TR_CONTEXT_H_ */
71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project