Re: [Mesa-dev] [PATCH] i965: Implement ABO surface state emission.

2013-10-02 Thread Adrian M Negreanu
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.

2013-10-02 Thread Ian Romanick
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