mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 02:10:11 +01:00
i965/fs: Add brw_wm_prog_key bit specifying whether FB reads should be coherent.
Some of the following changes in this series are specific to the non-coherent path, so I need some way to tell whether the coherent or non-coherent path is in use. The flag defaults to the value of the gl_extensions::MESA_shader_framebuffer_fetch enable so that it can be overridden easily on hardware that supports both framebuffer fetch extensions in order to test the non-coherent path, like: MESA_EXTENSION_OVERRIDE=-GL_EXT_shader_framebuffer_fetch (Of course trying to force-enable the coherent framebuffer fetch extension on hardware without native support won't work and lead to assertion failures). Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
4a87e4ade7
commit
40b23ad57e
2 changed files with 7 additions and 0 deletions
|
|
@ -260,6 +260,7 @@ struct brw_wm_prog_key {
|
|||
unsigned line_aa:2;
|
||||
bool high_quality_derivatives:1;
|
||||
bool force_dual_color_blend:1;
|
||||
bool coherent_fb_fetch:1;
|
||||
|
||||
uint16_t drawable_height;
|
||||
uint64_t input_slots_valid;
|
||||
|
|
|
|||
|
|
@ -549,6 +549,9 @@ brw_wm_populate_key(struct brw_context *brw, struct brw_wm_prog_key *key)
|
|||
|
||||
/* The unique fragment program ID */
|
||||
key->program_string_id = fp->id;
|
||||
|
||||
/* Whether reads from the framebuffer should behave coherently. */
|
||||
key->coherent_fb_fetch = ctx->Extensions.MESA_shader_framebuffer_fetch;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -613,6 +616,9 @@ brw_fs_precompile(struct gl_context *ctx,
|
|||
|
||||
key.program_string_id = bfp->id;
|
||||
|
||||
/* Whether reads from the framebuffer should behave coherently. */
|
||||
key.coherent_fb_fetch = ctx->Extensions.MESA_shader_framebuffer_fetch;
|
||||
|
||||
uint32_t old_prog_offset = brw->wm.base.prog_offset;
|
||||
struct brw_wm_prog_data *old_prog_data = brw->wm.prog_data;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue