id_context.h revision 7f41f5447c8f9113c8956901e1c5fff6081ecd94
1d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz/**************************************************************************
2d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz *
3d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * Copyright 2009 VMware, Inc.
4d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * All Rights Reserved.
5d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz *
6d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * Permission is hereby granted, free of charge, to any person obtaining a
7d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * copy of this software and associated documentation files (the
8d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * "Software"), to deal in the Software without restriction, including
9d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * without limitation the rights to use, copy, modify, merge, publish,
10d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * distribute, sub license, and/or sell copies of the Software, and to
11d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * permit persons to whom the Software is furnished to do so, subject to
12d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * the following conditions:
13d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz *
14d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * The above copyright notice and this permission notice (including the
15d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * next paragraph) shall be included in all copies or substantial portions
16d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * of the Software.
17d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz *
18d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
22d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz *
26d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz **************************************************************************/
27d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
28d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz#ifndef ID_CONTEXT_H
29d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz#define ID_CONTEXT_H
30d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
31d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz#include "pipe/p_state.h"
32d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz#include "pipe/p_context.h"
33d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
34d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
35d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantzstruct identity_context {
36d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz   struct pipe_context base;  /**< base class */
37d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
38d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz   struct pipe_context *pipe;
39d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz};
40d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
41d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
427f41f5447c8f9113c8956901e1c5fff6081ecd94Keith Whitwellstruct pipe_context *
437f41f5447c8f9113c8956901e1c5fff6081ecd94Keith Whitwellidentity_context_create(struct pipe_screen *screen, struct pipe_context *pipe);
447f41f5447c8f9113c8956901e1c5fff6081ecd94Keith Whitwell
457f41f5447c8f9113c8956901e1c5fff6081ecd94Keith Whitwell
46d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantzstatic INLINE struct identity_context *
47d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantzidentity_context(struct pipe_context *pipe)
48d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz{
49d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz   return (struct identity_context *)pipe;
50d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz}
51d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz
52d60b2c68552a2729dfdb33c2bac4822453cf8ae2Jakob Bornecrantz#endif /* ID_CONTEXT_H */
53