mesa: Move DepthMode to texture object
GL_DEPTH_TEXTURE_MODE isn't meant to be part of sampler state based on compatibility profile specifications. OpenGL specification 4.1 compatibility 20100725 3.9.2: "... The values accepted in the pname parameter are TEXTURE_WRAP_S, TEXTURE_WRAP_T, TEXTURE_WRAP_R, TEXTURE_MIN_- FILTER, TEXTURE_MAG_FILTER, TEXTURE_BORDER_COLOR, TEXTURE_MIN_- LOD, TEXTURE_MAX_LOD, TEXTURE_LOD_BIAS, TEXTURE_COMPARE_MODE, and TEXTURE_COMPARE_FUNC. Texture state listed in table 6.25 but not listed here and in the sampler state in table 6.26 is not part of the sampler state, and remains in the texture object." The list of states is in Table 6.24 "Textures (state per texture object)" instead of 6.25 mentioned in the specification text. Same can be found from 3.3 compatibility specification. Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:

committed by
Eric Anholt

parent
c18806cebf
commit
c37efbfe4c
@@ -147,7 +147,7 @@ st_create_texture_sampler_view_from_stobj(struct pipe_context *pipe,
|
||||
struct pipe_sampler_view templ;
|
||||
GLuint swizzle = apply_depthmode(stObj->pt->format,
|
||||
stObj->base._Swizzle,
|
||||
samp->DepthMode);
|
||||
stObj->base.DepthMode);
|
||||
|
||||
u_sampler_view_default_template(&templ,
|
||||
stObj->pt,
|
||||
@@ -240,7 +240,7 @@ update_single_texture(struct st_context *st,
|
||||
if (stObj->sampler_view) {
|
||||
if (check_sampler_swizzle(stObj->sampler_view,
|
||||
stObj->base._Swizzle,
|
||||
samp->DepthMode) ||
|
||||
stObj->base.DepthMode) ||
|
||||
(st_view_format != stObj->sampler_view->format) ||
|
||||
stObj->base.BaseLevel != stObj->sampler_view->u.tex.first_level) {
|
||||
pipe_sampler_view_reference(&stObj->sampler_view, NULL);
|
||||
|
Reference in New Issue
Block a user