diff options
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 19 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.h | 3 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_program.c | 19 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_program.h | 4 |
4 files changed, 23 insertions, 22 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index e28eb5db026..d240371767b 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -5285,22 +5285,3 @@ brw_fs_precompile(struct gl_context *ctx, return success; } - -void -brw_setup_tex_for_precompile(struct brw_context *brw, - struct brw_sampler_prog_key_data *tex, - struct gl_program *prog) -{ - const bool has_shader_channel_select = brw->is_haswell || brw->gen >= 8; - unsigned sampler_count = _mesa_fls(prog->SamplersUsed); - for (unsigned i = 0; i < sampler_count; i++) { - if (!has_shader_channel_select && (prog->ShadowSamplers & (1 << i))) { - /* Assume DEPTH_TEXTURE_MODE is the default: X, X, X, 1 */ - tex->swizzles[i] = - MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_X, SWIZZLE_X, SWIZZLE_ONE); - } else { - /* Color sampler: assume no swizzling. */ - tex->swizzles[i] = SWIZZLE_XYZW; - } - } -} diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 0a89d2e7640..dd0526a1550 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -514,6 +514,3 @@ private: bool brw_do_channel_expressions(struct exec_list *instructions); bool brw_do_vector_splitting(struct exec_list *instructions); -void brw_setup_tex_for_precompile(struct brw_context *brw, - struct brw_sampler_prog_key_data *tex, - struct gl_program *prog); diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c index 4f380184464..1ac0ed273ef 100644 --- a/src/mesa/drivers/dri/i965/brw_program.c +++ b/src/mesa/drivers/dri/i965/brw_program.c @@ -588,3 +588,22 @@ brw_dump_ir(const char *stage, struct gl_shader_program *shader_prog, _mesa_print_program(prog); } } + +void +brw_setup_tex_for_precompile(struct brw_context *brw, + struct brw_sampler_prog_key_data *tex, + struct gl_program *prog) +{ + const bool has_shader_channel_select = brw->is_haswell || brw->gen >= 8; + unsigned sampler_count = _mesa_fls(prog->SamplersUsed); + for (unsigned i = 0; i < sampler_count; i++) { + if (!has_shader_channel_select && (prog->ShadowSamplers & (1 << i))) { + /* Assume DEPTH_TEXTURE_MODE is the default: X, X, X, 1 */ + tex->swizzles[i] = + MAKE_SWIZZLE4(SWIZZLE_X, SWIZZLE_X, SWIZZLE_X, SWIZZLE_ONE); + } else { + /* Color sampler: assume no swizzling. */ + tex->swizzles[i] = SWIZZLE_XYZW; + } + } +} diff --git a/src/mesa/drivers/dri/i965/brw_program.h b/src/mesa/drivers/dri/i965/brw_program.h index eaa7e4e9a79..bfcd1c93178 100644 --- a/src/mesa/drivers/dri/i965/brw_program.h +++ b/src/mesa/drivers/dri/i965/brw_program.h @@ -159,6 +159,10 @@ struct brw_wm_prog_key { extern "C" { #endif +void brw_setup_tex_for_precompile(struct brw_context *brw, + struct brw_sampler_prog_key_data *tex, + struct gl_program *prog); + void brw_populate_sampler_prog_key_data(struct gl_context *ctx, const struct gl_program *prog, unsigned sampler_count, |