OSDN Git Service

i965: use _Shader to get fragment program when updating surface state
authorTapani Pälli <tapani.palli@intel.com>
Fri, 18 Dec 2015 12:25:53 +0000 (12:25 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Fri, 18 Dec 2015 12:26:20 +0000 (12:26 +0000)
Atomic counters and Images were using ctx::Shader that does not take in
to account program pipeline changes, ctx::_Shader must be used for SSO to
work. Commit c0347705 already changed ubo's to use this.

Fixes failures seen with following Piglit test:
arb_separate_shader_object-atomic-counter

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 231db5869c2c0f32608f39100bffff569da21bea)

src/mesa/drivers/dri/i965/brw_wm_surface_state.c

index 1f97bac..b8e1f70 100644 (file)
@@ -981,7 +981,7 @@ brw_upload_wm_abo_surfaces(struct brw_context *brw)
 {
    struct gl_context *ctx = &brw->ctx;
    /* _NEW_PROGRAM */
-   struct gl_shader_program *prog = ctx->Shader._CurrentFragmentProgram;
+   struct gl_shader_program *prog = ctx->_Shader->_CurrentFragmentProgram;
 
    if (prog) {
       /* BRW_NEW_FS_PROG_DATA */
@@ -1257,7 +1257,7 @@ brw_upload_wm_image_surfaces(struct brw_context *brw)
 {
    struct gl_context *ctx = &brw->ctx;
    /* BRW_NEW_FRAGMENT_PROGRAM */
-   struct gl_shader_program *prog = ctx->Shader._CurrentFragmentProgram;
+   struct gl_shader_program *prog = ctx->_Shader->_CurrentFragmentProgram;
 
    if (prog) {
       /* BRW_NEW_FS_PROG_DATA, BRW_NEW_IMAGE_UNITS, _NEW_TEXTURE */