On 09/20/2013 03:56 AM, Abdiel Janulgue wrote:
> Probably non-intentional, but the SURFACE_STATE setup refactoring
> for buffer surfaces had missed the scs bits when creating constant
> surface states.
> 
> Fixes broken GLB 2.5 on Haswell where the knight's textures are missing
> 
> Signed-off-by: Abdiel Janulgue <abdiel.janul...@linux.intel.com>
> ---
>  src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c 
> b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c
> index 6938b1a..7571cbf 100644
> --- a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c
> @@ -249,6 +249,13 @@ gen7_emit_buffer_surface_state(struct brw_context *brw,
>  
>     surf[5] = SET_FIELD(mocs, GEN7_SURFACE_MOCS);
>  
> +   if (brw->is_haswell) {
> +      surf[7] |= (SET_FIELD(HSW_SCS_RED,   GEN7_SURFACE_SCS_R) |
> +                  SET_FIELD(HSW_SCS_GREEN, GEN7_SURFACE_SCS_G) |
> +                  SET_FIELD(HSW_SCS_BLUE,  GEN7_SURFACE_SCS_B) |
> +                  SET_FIELD(HSW_SCS_ALPHA, GEN7_SURFACE_SCS_A));
> +   }
> +
>     /* Emit relocation to surface contents */
>     if (bo) {
>        drm_intel_bo_emit_reloc(brw->batch.bo, *out_offset + 4,
> 

Crud, I must've forgotten to test this.  Ah, and it probably matters
because we do pull constants via the sampler, rather than the data port.

Thanks for the fix.

Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to