radeonsi: move sample positions constant buffer to RW buffers
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
860b658b97
commit
302bec24bd
|
@ -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) */
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -180,6 +180,7 @@ enum {
|
|||
|
||||
SI_VS_CONST_CLIP_PLANES,
|
||||
SI_PS_CONST_POLY_STIPPLE,
|
||||
SI_PS_CONST_SAMPLE_POSITIONS,
|
||||
|
||||
SI_NUM_RW_BUFFERS,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue