On 08/15/2013 10:52 PM, Paul Berry wrote:
On 14 August 2013 18:55, Kenneth Graunke <kenn...@whitecape.org
<mailto:kenn...@whitecape.org>> wrote:
Now that we have the number of samplers available, we don't need to
iterate over all 16. This should be particularly helpful for vertex
shaders.
Signed-off-by: Kenneth Graunke <kenn...@whitecape.org
<mailto:kenn...@whitecape.org>>
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +-
src/mesa/drivers/dri/i965/brw_vs.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp
b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 69e544a..27263fd 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -3143,7 +3143,7 @@ brw_fs_precompile(struct gl_context *ctx,
struct gl_shader_program *prog)
key.clamp_fragment_color = ctx->API == API_OPENGL_COMPAT;
- for (int i = 0; i < MAX_SAMPLERS; i++) {
+ for (unsigned i = 0; i < brw->wm.sampler_count; i++) {
Precompile is called during link, before the program is made current.
So brw->wm is some other program. I think you need to do this instead:
_mesa_fls(fp->Base.SamplersUsed).
if (fp->Base.ShadowSamplers & (1 << i)) {
/* Assume DEPTH_TEXTURE_MODE is the default: X, X, X, 1 */
key.tex.swizzles[i] =
diff --git a/src/mesa/drivers/dri/i965/brw_vs.c
b/src/mesa/drivers/dri/i965/brw_vs.c
index 5b8173d..7df93c2 100644
--- a/src/mesa/drivers/dri/i965/brw_vs.c
+++ b/src/mesa/drivers/dri/i965/brw_vs.c
@@ -544,7 +544,7 @@ brw_vs_precompile(struct gl_context *ctx, struct
gl_shader_program *prog)
key.base.program_string_id = bvp->id;
key.base.clamp_vertex_color = ctx->API == API_OPENGL_COMPAT;
- for (int i = 0; i < MAX_SAMPLERS; i++) {
+ for (unsigned i = 0; i < brw->vs.sampler_count; i++) {
Similarly, this should be _mesa_fls(vp->Base.SamplersUsed).
With those fixes, this patch is:
Reviewed-by: Paul Berry <stereotype...@gmail.com
<mailto:stereotype...@gmail.com>>
Yikes, you're right. I think I'll just drop this patch - it's not worth
the complexity, especially since I doubt there's any measureable benefit.
--Ken
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev