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