projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
210218b
)
r300g: abort if a vertex buffer offset is not dword-aligned
author
Marek Olšák
<maraeo@gmail.com>
Mon, 22 Mar 2010 01:18:51 +0000
(
02:18
+0100)
committer
Marek Olšák
<maraeo@gmail.com>
Mon, 26 Apr 2010 05:21:59 +0000
(07:21 +0200)
src/gallium/drivers/r300/r300_emit.c
patch
|
blob
|
history
diff --git
a/src/gallium/drivers/r300/r300_emit.c
b/src/gallium/drivers/r300/r300_emit.c
index 19acdaba621bbc834fdc4c0d3d79cf0af14032ec..7dc7c1d0efcf4692737af76c4b40887fac52527a 100644
(file)
--- a/
src/gallium/drivers/r300/r300_emit.c
+++ b/
src/gallium/drivers/r300/r300_emit.c
@@
-832,6
+832,15
@@
void r300_emit_aos(struct r300_context* r300, unsigned offset)
unsigned packet_size = (aos_count * 3 + 1) / 2;
CS_LOCALS(r300);
unsigned packet_size = (aos_count * 3 + 1) / 2;
CS_LOCALS(r300);
+ for (i = 0; i < aos_count; i++) {
+ if ((vbuf[velem[i].vertex_buffer_index].buffer_offset + velem[i].src_offset) % 4 != 0) {
+ /* XXX We must align the buffer. */
+ assert(0);
+ fprintf(stderr, "r300: Unaligned vertex buffer offsets aren't supported, aborting..\n");
+ abort();
+ }
+ }
+
BEGIN_CS(2 + packet_size + aos_count * 2);
OUT_CS_PKT3(R300_PACKET3_3D_LOAD_VBPNTR, packet_size);
OUT_CS(aos_count);
BEGIN_CS(2 + packet_size + aos_count * 2);
OUT_CS_PKT3(R300_PACKET3_3D_LOAD_VBPNTR, packet_size);
OUT_CS(aos_count);