Changes in v2: - Add a much longer and better comment This allows the OpenGL state tracker to inform the driver that we are using GL_TEXTURE_RECTANGLE as opposed to GL_TEXTURE_2D. --- src/gallium/include/pipe/p_defines.h | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index 00aa207..23cf429 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -313,6 +313,32 @@ enum pipe_transfer_usage { /* Flags for the driver about resource behaviour: */ #define PIPE_RESOURCE_FLAG_GEN_MIPS (1 << 0) /* Driver performs autogen mips */ + +/* State trackers must set this flag if the user API intends to use only unnormalized + * coordinates with this resource. For instance, OpenGL rectangle textures will have + * this flag set. + * + * State trackers should support using either normalization in all internal drawing + * code. + * + * Drivers should set or clear the flag to inform the state tracker of the normalization + * it should use in internal drawing code. The state tracker should also ask the API + * user to do so too if the API supports that. + * + * Drivers who do not change this will have the best chance of always getting the + * same normalization for a given resource, while those that clear or set it will + * get the chosen normalization more often. + * + * Note that some drivers may only support the coordinate normalization that was set + * at resource creation. Currently, there is no way to tell this, since usually there + * is no way to adjust for this, except for not using state trackers that need both + * normalizations at once, or adding a fallback in the driver. + * + * Currently only OpenCL is known to need both normalizations on the same texture, + * while no version of OpenGL or Direct3D needs that. + */ +#define PIPE_RESOURCE_FLAG_UNNORMALIZED_COORDS_HINT (1 << 1) + #define PIPE_RESOURCE_FLAG_DRV_PRIV (1 << 16) /* driver/winsys private */ #define PIPE_RESOURCE_FLAG_ST_PRIV (1 << 24) /* state-tracker/winsys private */ -- 1.7.0.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev