radeonsi: move sample positions constant buffer to RW buffers
authorMarek Olšák <marek.olsak@amd.com>
Mon, 18 Apr 2016 23:53:03 +0000 (01:53 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 21 Apr 2016 23:14:13 +0000 (01:14 +0200)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_shader.c
src/gallium/drivers/radeonsi/si_state.c
src/gallium/drivers/radeonsi/si_state.h

index fc3e5c0d921e6fec41877b95409ab6f9975eda80..57bc7d3eb8aa178b6381fea25dbba51be74e0ea1 100644 (file)
@@ -1135,8 +1135,8 @@ static LLVMValueRef load_sample_position(struct radeon_llvm_context *radeon_bld,
        struct lp_build_context *uint_bld = &radeon_bld->soa.bld_base.uint_bld;
        struct gallivm_state *gallivm = &radeon_bld->gallivm;
        LLVMBuilderRef builder = gallivm->builder;
-       LLVMValueRef desc = LLVMGetParam(ctx->radeon_bld.main_fn, SI_PARAM_CONST_BUFFERS);
-       LLVMValueRef buf_index = lp_build_const_int32(gallivm, SI_DRIVER_STATE_CONST_BUF);
+       LLVMValueRef desc = LLVMGetParam(ctx->radeon_bld.main_fn, SI_PARAM_RW_BUFFERS);
+       LLVMValueRef buf_index = lp_build_const_int32(gallivm, SI_PS_CONST_SAMPLE_POSITIONS);
        LLVMValueRef resource = build_indexed_load_const(ctx, desc, buf_index);
 
        /* offset = sample_id * 8  (8 = 2 floats containing samplepos.xy) */
index 74af14c217b7df996d0190092b36f1b7fa47550f..2e488fe089eb0a40b18b92cad4daa5e2f21e6cba 100644 (file)
@@ -2544,8 +2544,8 @@ static void si_set_framebuffer_state(struct pipe_context *ctx,
                        assert(0);
                }
                constbuf.buffer_size = sctx->framebuffer.nr_samples * 2 * 4;
-               ctx->set_constant_buffer(ctx, PIPE_SHADER_FRAGMENT,
-                                        SI_DRIVER_STATE_CONST_BUF, &constbuf);
+               si_set_constant_buffer(sctx, &sctx->rw_buffers,
+                                      SI_PS_CONST_SAMPLE_POSITIONS, &constbuf);
 
                /* Smoothing (only possible with nr_samples == 1) uses the same
                 * sample locations as the MSAA it simulates.
index b7b00f00ecf9ffb85eece80fdf1d3364ccfd3372..2b566bf25a0322f3b81139df25c06c360e34518f 100644 (file)
@@ -180,6 +180,7 @@ enum {
 
        SI_VS_CONST_CLIP_PLANES,
        SI_PS_CONST_POLY_STIPPLE,
+       SI_PS_CONST_SAMPLE_POSITIONS,
 
        SI_NUM_RW_BUFFERS,
 };