diff options
author | Topi Pohjolainen <[email protected]> | 2015-02-27 21:59:56 +0200 |
---|---|---|
committer | Topi Pohjolainen <[email protected]> | 2015-04-30 00:28:48 +0300 |
commit | 4de0bef7f438147091a7489728c4d187c6efbbc3 (patch) | |
tree | 73564de0da73b0e058704fb849aeee5b2151507a | |
parent | bfdacac86cf82a1ae8d76e3282b8842f08a21c31 (diff) |
i965/blorp: Allow caller to provide sampler settings
v2 (Ken): s/use_unorm_coords/non_normalized_coords/
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Topi Pohjolainen <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp.h | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_blorp.cpp | 15 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/gen7_blorp.cpp | 3 |
3 files changed, 14 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.h b/src/mesa/drivers/dri/i965/brw_blorp.h index 59aecabf5bd..6aaae6537b5 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.h +++ b/src/mesa/drivers/dri/i965/brw_blorp.h @@ -415,7 +415,9 @@ gen6_blorp_emit_drawing_rectangle(struct brw_context *brw, uint32_t gen6_blorp_emit_sampler_state(struct brw_context *brw, - const brw_blorp_params *params); + unsigned tex_filter, unsigned max_lod, + bool non_normalized_coords); + /** \} */ #endif /* __cplusplus */ diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp index 6c139ec94c5..14e073b237f 100644 --- a/src/mesa/drivers/dri/i965/gen6_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen6_blorp.cpp @@ -455,7 +455,8 @@ gen6_blorp_emit_binding_table(struct brw_context *brw, */ uint32_t gen6_blorp_emit_sampler_state(struct brw_context *brw, - const brw_blorp_params *params) + unsigned tex_filter, unsigned max_lod, + bool non_normalized_coords) { uint32_t sampler_offset; uint32_t *sampler_state = (uint32_t *) @@ -476,8 +477,8 @@ gen6_blorp_emit_sampler_state(struct brw_context *brw, brw_emit_sampler_state(brw, sampler_state, sampler_offset, - BRW_MAPFILTER_LINEAR, /* min filter */ - BRW_MAPFILTER_LINEAR, /* mag filter */ + tex_filter, /* min filter */ + tex_filter, /* mag filter */ BRW_MIPFILTER_NONE, BRW_ANISORATIO_2, address_rounding, @@ -485,11 +486,11 @@ gen6_blorp_emit_sampler_state(struct brw_context *brw, BRW_TEXCOORDMODE_CLAMP, BRW_TEXCOORDMODE_CLAMP, 0, /* min LOD */ - 0, /* max LOD */ + max_lod, 0, /* LOD bias */ 0, /* base miplevel */ 0, /* shadow function */ - true, /* non-normalized coordinates */ + non_normalized_coords, 0); /* border color offset - unused */ return sampler_offset; @@ -1059,7 +1060,9 @@ gen6_blorp_exec(struct brw_context *brw, gen6_blorp_emit_binding_table(brw, params, wm_surf_offset_renderbuffer, wm_surf_offset_texture); - sampler_offset = gen6_blorp_emit_sampler_state(brw, params); + sampler_offset = + gen6_blorp_emit_sampler_state(brw, BRW_MAPFILTER_LINEAR, 0, true); + gen6_blorp_emit_sampler_state_pointers(brw, params, sampler_offset); } gen6_blorp_emit_vs_disable(brw, params); diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp index 8215fe9a0c4..d841346a2cd 100644 --- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp @@ -830,7 +830,8 @@ gen7_blorp_exec(struct brw_context *brw, gen6_blorp_emit_binding_table(brw, params, wm_surf_offset_renderbuffer, wm_surf_offset_texture); - sampler_offset = gen6_blorp_emit_sampler_state(brw, params); + sampler_offset = + gen6_blorp_emit_sampler_state(brw, BRW_MAPFILTER_LINEAR, 0, true); } gen7_blorp_emit_vs_disable(brw, params); gen7_blorp_emit_hs_disable(brw, params); |