tnl: fix not having texture coords in ATI_fs in swrast
authorMiklós Máté <mtmkls@gmail.com>
Sat, 2 Dec 2017 22:35:22 +0000 (23:35 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 25 Dec 2017 13:32:23 +0000 (14:32 +0100)
ATI_fs in swrast only had access to texture coordinates if there was a
valid texture bound and texturing was enabled.

Piglit: spec/ati_fragment_shader/render-sources and render-notexture

Signed-off-by: Miklós Máté <mtmkls@gmail.com>
src/mesa/tnl/t_context.c

index ec18fa01b2e0d8f12926a052986a34a93b6ec436..bb5d9fc07b97d3476dc2b0d86062a1a57efdeb14 100644 (file)
@@ -157,7 +157,8 @@ _tnl_InvalidateState( struct gl_context *ctx, GLuint new_state )
 
    for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) {
      if (ctx->Texture._EnabledCoordUnits & (1 << i) ||
-        (fp && fp->info.inputs_read & VARYING_BIT_TEX(i))) {
+        (fp && fp->info.inputs_read & VARYING_BIT_TEX(i)) ||
+         _mesa_ati_fragment_shader_enabled(ctx)) {
        tnl->render_inputs_bitset |= BITFIELD64_BIT(_TNL_ATTRIB_TEX(i));
      }
    }