Re: [Mesa-dev] [PATCH] i965: Implement ABO surface state emission.
On Oct 2, 2013 9:29 PM, Francisco Jerez curroje...@riseup.net wrote: The maximum number of atomic buffer objects is somewhat arbitrary, we can change it in the future easily if it turns out it's not enough... v2: Add comments with the relevant mesa dirty bits. Fix usage of BRW_NEW_UNIFORM_BUFFER in the GS ABO state atom. v3: Update binding table layout diagrams. Reviewed-by: Paul Berry stereotype...@gmail.com Hi, I guess this patch also depends on pending patches, right? Aiaiai-mesa fails to built it: On Oct 2, 2013 9:39 PM, Aiaiai aia...@aiaiai.ku wrote: Hi, I have tested your changes: [Mesa-dev] [PATCH] i965: Implement ABO surface state emission. Project: mesa (Mesa build tests) Configurations: android linux Tested the patch(es) on top of the following commits: 4e4c32b r600/llvm: Adds support for MSAA 8edbd76 r600g/llvm: Undef z and w component of 2D TXP inst 9f183eb r600g/llvm: fix txq for texture buffer 848c0e7 i965: compute DDX in a subspan based only on top row 72edba1 i965/blorp: Use passed in framebuffer rather than ctx-DrawBuffer ef8cc3e ralloc: Remove the rzalloc-based new/delete operator definition macro. fcbbecb st/mesa: Switch glsl_to_tgsi_instruction to the non-zeroing allocator. Failed to build for android 4e4c32b r600/llvm: Adds support for MSAA 8edbd76 r600g/llvm: Undef z and w component of 2D TXP inst 9f183eb r600g/llvm: fix txq for texture buffer 848c0e7 i965: compute DDX in a subspan based only on top row 72edba1 i965/blorp: Use passed in framebuffer rather than ctx-DrawBuffer ef8cc3e ralloc: Remove the rzalloc-based new/delete operator definition macro. fcbbecb st/mesa: Switch glsl_to_tgsi_instruction to the non-zeroing allocator. src/mesa/drivers/dri/i965/brw_state_dump.c:423:63: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_vs_constants': src/mesa/drivers/dri/i965/brw_state_dump.c:435:47: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c:436:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_wm_constants': src/mesa/drivers/dri/i965/brw_state_dump.c:451:47: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c:452:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_binding_table': src/mesa/drivers/dri/i965/brw_state_dump.c:468:44: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_prog_cache': src/mesa/drivers/dri/i965/brw_state_dump.c:495:33: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_vs_surface_state.c: In function 'brw_upload_vec4_pull_constants': src/mesa/drivers/dri/i965/brw_vs_surface_state.c:72:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_wm_surface_state.c: In function 'brw_upload_abo_surfaces': src/mesa/drivers/dri/i965/brw_wm_surface_state.c:842:28: error: 'struct gl_shader_program' has no member named 'NumAtomicBuffers' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:844:14: error: 'struct gl_context' has no member named 'AtomicBufferBindings' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:844:41: error: 'struct gl_shader_program' has no member named 'AtomicBuffers' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:846:37: error: dereferencing pointer to incomplete type src/mesa/drivers/dri/i965/brw_wm_surface_state.c:850:16: error: 'struct anonymous' has no member named 'create_raw_surface' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:850:52: error: dereferencing pointer to incomplete type src/mesa/drivers/dri/i965/brw_wm_surface_state.c:851:54: error: dereferencing pointer to incomplete type src/mesa/drivers/dri/i965/brw_wm_surface_state.c:855:12: error: 'struct gl_shader_program' has no member named 'NumAtomicBuffers' make: *** [out/target/product/samsungxe700t/obj/SHARED_LIBRARIES/i965_dri_intermediates/brw_wm_surface_state.o] Error 1 FAILURE --- src/mesa/drivers/dri/i965/brw_context.h | 27 -- src/mesa/drivers/dri/i965/brw_gs_surface_state.c | 21 +++ src/mesa/drivers/dri/i965/brw_state.h| 3 ++ src/mesa/drivers/dri/i965/brw_state_upload.c | 4 +++ src/mesa/drivers/dri/i965/brw_vs_surface_state.c | 21 +++ src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 45 6 files changed, 119 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.h
Re: [Mesa-dev] [PATCH] i965: Implement ABO surface state emission.
On 10/02/2013 11:46 AM, Adrian M Negreanu wrote: On Oct 2, 2013 9:29 PM, Francisco Jerez curroje...@riseup.net mailto:curroje...@riseup.net wrote: The maximum number of atomic buffer objects is somewhat arbitrary, we can change it in the future easily if it turns out it's not enough... v2: Add comments with the relevant mesa dirty bits. Fix usage of BRW_NEW_UNIFORM_BUFFER in the GS ABO state atom. v3: Update binding table layout diagrams. Reviewed-by: Paul Berry stereotype...@gmail.com mailto:stereotype...@gmail.com Hi, I guess this patch also depends on pending patches, right? Aiaiai-mesa fails to built it: On Oct 2, 2013 9:39 PM, Aiaiai aia...@aiaiai.ku wrote: Hi, I have tested your changes: [Mesa-dev] [PATCH] i965: Implement ABO surface state emission. Project: mesa (Mesa build tests) Configurations: android linux Tested the patch(es) on top of the following commits: 4e4c32b r600/llvm: Adds support for MSAA 8edbd76 r600g/llvm: Undef z and w component of 2D TXP inst 9f183eb r600g/llvm: fix txq for texture buffer 848c0e7 i965: compute DDX in a subspan based only on top row 72edba1 i965/blorp: Use passed in framebuffer rather than ctx-DrawBuffer ef8cc3e ralloc: Remove the rzalloc-based new/delete operator definition macro. fcbbecb st/mesa: Switch glsl_to_tgsi_instruction to the non-zeroing allocator. Failed to build for android 4e4c32b r600/llvm: Adds support for MSAA 8edbd76 r600g/llvm: Undef z and w component of 2D TXP inst 9f183eb r600g/llvm: fix txq for texture buffer 848c0e7 i965: compute DDX in a subspan based only on top row 72edba1 i965/blorp: Use passed in framebuffer rather than ctx-DrawBuffer ef8cc3e ralloc: Remove the rzalloc-based new/delete operator definition macro. fcbbecb st/mesa: Switch glsl_to_tgsi_instruction to the non-zeroing allocator. src/mesa/drivers/dri/i965/brw_state_dump.c:423:63: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_vs_constants': src/mesa/drivers/dri/i965/brw_state_dump.c:435:47: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c:436:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_wm_constants': src/mesa/drivers/dri/i965/brw_state_dump.c:451:47: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c:452:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_binding_table': src/mesa/drivers/dri/i965/brw_state_dump.c:468:44: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_state_dump.c: In function 'dump_prog_cache': src/mesa/drivers/dri/i965/brw_state_dump.c:495:33: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_vs_surface_state.c: In function 'brw_upload_vec4_pull_constants': src/mesa/drivers/dri/i965/brw_vs_surface_state.c:72:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith] src/mesa/drivers/dri/i965/brw_wm_surface_state.c: In function 'brw_upload_abo_surfaces': src/mesa/drivers/dri/i965/brw_wm_surface_state.c:842:28: error: 'struct gl_shader_program' has no member named 'NumAtomicBuffers' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:844:14: error: 'struct gl_context' has no member named 'AtomicBufferBindings' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:844:41: error: 'struct gl_shader_program' has no member named 'AtomicBuffers' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:846:37: error: dereferencing pointer to incomplete type src/mesa/drivers/dri/i965/brw_wm_surface_state.c:850:16: error: 'struct anonymous' has no member named 'create_raw_surface' src/mesa/drivers/dri/i965/brw_wm_surface_state.c:850:52: error: dereferencing pointer to incomplete type src/mesa/drivers/dri/i965/brw_wm_surface_state.c:851:54: error: dereferencing pointer to incomplete type src/mesa/drivers/dri/i965/brw_wm_surface_state.c:855:12: error: 'struct gl_shader_program' has no member named 'NumAtomicBuffers' make: *** [out/target/product/samsungxe700t/obj/SHARED_LIBRARIES/i965_dri_intermediates/brw_wm_surface_state.o] Error 1 FAILURE I believe this patch depends on a large (20?) number of patches that Curro previously posted. --- src/mesa/drivers/dri/i965/brw_context.h | 27 -- src/mesa/drivers/dri/i965/brw_gs_surface_state.c | 21 +++ src/mesa/drivers/dri/i965/brw_state.h| 3 ++ src/mesa/drivers/dri/i965/brw_state_upload.c