[Mesa-dev] [PATCH] i965: fix KHR-GL46.enhanced_layouts.varying_* failures
Clayton Craft
clayton.a.craft at intel.com
Tue Nov 28 03:41:15 UTC 2017
This resolves following test failures by partially
reverting "mesa: shrink VERT_ATTRIB bitfields to 32 bits":
KHR-GL46.enhanced_layouts.varying_array_locations
KHR-GL46.enhanced_layouts.varying_locations
KHR-GL46.enhanced_layouts.varying_structure_locations
Fixes: 78942e7dbfd234c ("mesa: shrink VERT_ATTRIB bitfields to 32 bits")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103942
Suggested-by: Marek Olšák <maraeo at gmail.com>
---
src/mesa/drivers/dri/i965/brw_draw_upload.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
index 2204bf474b..9b81999ea0 100644
--- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
@@ -458,7 +458,7 @@ brw_prepare_vertices(struct brw_context *brw)
/* BRW_NEW_VS_PROG_DATA */
const struct brw_vs_prog_data *vs_prog_data =
brw_vs_prog_data(brw->vs.base.prog_data);
- GLbitfield vs_inputs = vs_prog_data->inputs_read;
+ GLbitfield64 vs_inputs = vs_prog_data->inputs_read;
const unsigned char *ptr = NULL;
GLuint interleaved = 0;
unsigned int min_index = brw->vb.min_index + brw->basevertex;
@@ -487,16 +487,16 @@ brw_prepare_vertices(struct brw_context *brw)
/* Accumulate the list of enabled arrays. */
brw->vb.nr_enabled = 0;
while (vs_inputs) {
- GLuint first = ffs(vs_inputs) - 1;
+ GLuint first = ffsll(vs_inputs) - 1;
assert (first < 64);
GLuint index =
first - DIV_ROUND_UP(_mesa_bitcount_64(vs_prog_data->double_inputs_read &
BITFIELD64_MASK(first)), 2);
struct brw_vertex_element *input = &brw->vb.inputs[index];
input->is_dual_slot = (vs_prog_data->double_inputs_read & BITFIELD64_BIT(first)) != 0;
- vs_inputs &= ~BITFIELD_BIT(first);
+ vs_inputs &= ~BITFIELD64_BIT(first);
if (input->is_dual_slot)
- vs_inputs &= ~BITFIELD_BIT(first + 1);
+ vs_inputs &= ~BITFIELD64_BIT(first + 1);
brw->vb.enabled[brw->vb.nr_enabled++] = input;
}
--
2.15.0
More information about the mesa-dev
mailing list