From: Marek Olšák Date: Mon, 18 Apr 2016 23:53:03 +0000 (+0200) Subject: radeonsi: move sample positions constant buffer to RW buffers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=302bec24bd67cb21c39e9db872afe946994547a7;p=mesa.git radeonsi: move sample positions constant buffer to RW buffers Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Nicolai Hähnle --- diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index fc3e5c0d921..57bc7d3eb8a 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -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) */ diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 74af14c217b..2e488fe089e 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -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. diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h index b7b00f00ecf..2b566bf25a0 100644 --- a/src/gallium/drivers/radeonsi/si_state.h +++ b/src/gallium/drivers/radeonsi/si_state.h @@ -180,6 +180,7 @@ enum { SI_VS_CONST_CLIP_PLANES, SI_PS_CONST_POLY_STIPPLE, + SI_PS_CONST_SAMPLE_POSITIONS, SI_NUM_RW_BUFFERS, };