diff options
author | Marek Olšák <[email protected]> | 2014-05-06 18:20:58 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-06-02 12:58:22 +0200 |
commit | 99d9d7c0d69c076d84334892ee12f921fe243319 (patch) | |
tree | 4fec2ba3be5f6470af9dbe3fb2099de66ee6eaab /src/gallium/drivers/radeon/r600_pipe_common.h | |
parent | 5b06fc376df8ac4e63603d1768cd0dccc9e4b491 (diff) |
radeonsi: implement SAMPLEPOS fragment shader input
The sample positions are read from a constant buffer.
Diffstat (limited to 'src/gallium/drivers/radeon/r600_pipe_common.h')
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index b7e4e65cf11..d82adf5d387 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -357,6 +357,15 @@ struct r600_common_context { boolean saved_render_cond_cond; unsigned saved_render_cond_mode; + /* MSAA sample locations. + * The first index is the sample index. + * The second index is the coordinate: X, Y. */ + float sample_locations_1x[1][2]; + float sample_locations_2x[2][2]; + float sample_locations_4x[4][2]; + float sample_locations_8x[8][2]; + float sample_locations_16x[16][2]; + /* Copy one resource to another using async DMA. */ void (*dma_copy)(struct pipe_context *ctx, struct pipe_resource *dst, @@ -472,6 +481,7 @@ extern const uint32_t eg_sample_locs_4x[4]; extern const unsigned eg_max_dist_4x; void cayman_get_sample_position(struct pipe_context *ctx, unsigned sample_count, unsigned sample_index, float *out_value); +void cayman_init_msaa(struct pipe_context *ctx); void cayman_emit_msaa_sample_locs(struct radeon_winsys_cs *cs, int nr_samples); void cayman_emit_msaa_config(struct radeon_winsys_cs *cs, int nr_samples, int ps_iter_samples); |