Re: [Mesa-dev] [PATCH 8/8] i965: Flush pipeline on EndTransformFeedback.

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 03:35 PM, Paul Berry wrote: A common use case for transform feedback is to perform one draw operation that writes transform feedback output to a buffer, followed by a second draw operation that consumes that buffer as vertex input. Since vertex input is consumed at an earlier

Re: [Mesa-dev] [PATCH 1/8] mesa: Record transform feedback stride in linker output.

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 03:35 PM, Paul Berry wrote: This patch adds the field gl_transform_feedback_info::BufferStride, which records the total number of components (per vertex) that transform feedback is being instructed to store in each buffer. The i965 gen6 back-end needs this information in order

Re: [Mesa-dev] [PATCH 2/8] mesa: Fix off-by-one error in transform feedback size check.

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 03:35 PM, Paul Berry wrote: In _mesa_BindBufferRange(), we need to verify that the offset and size specified by the client do not exceed the size of the underlying buffer. We were accidentally doing this check using = rather than , so we were generating a bogus error if the

Re: [Mesa-dev] [PATCH 3/8] i965 gen6+: Use 1-wide null operands for IF instructions

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 03:35 PM, Paul Berry wrote: The Sandy Bridge PRM, volume 4, part 2, section 5.3.10 (5.3.10 Register Region Restrictions) contains the following restriction on the execution size and operand width of instructions: 3. ExecSize must be equal to or greater than Width. When

Re: [Mesa-dev] [PATCH 4/8] i965 gs: Move vue_map to brw_gs_compile.

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 03:35 PM, Paul Berry wrote: This patch stores the geometry shader VUE map from a local variable in compile_gs_prog() to a field in the brw_gs_compile struct, so that it will be available while compiling the geometry shader. This is necessary in order to support transform

Re: [Mesa-dev] [PATCH 6/8] i965 gen6: Turn on transform feedback extension.

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 03:35 PM, Paul Berry wrote: This patch advertises support for EXT_transform_feedback on Intel Gen6 and higher. Since transform feedback support is not completely finished yet, for now we only advertise support for it when MESA_GL_VERSION_OVERRIDE is 3.0 or greater (since

Re: [Mesa-dev] [PATCH 7/8] i965 gen6+: Make intel_batchbuffer_emit_mi_flush() actually flush.

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 03:35 PM, Paul Berry wrote: Previous to this patch, the function intel_batchbuffer_emit_mi_flush() was a bit of a misnomer. On Gen4+, when not using the blit engine, it didn't actually flush the pipeline--it simply generated a _3DSTATE_PIPE_CONTROL command with the necessary

Re: [Mesa-dev] shaders for g3dvl compositor (was vdpau: Handle destination rectangles correctly)

2011-12-14 Thread Christian König
Hi Andy, On 12.12.2011 19:15, Andy Furniss wrote: Christian König wrote: @Andy: Could you please confirm that they are also working? (They should apply ontop of current master). Yes - they are working OK for me. Ok, so I committed them just a couple of minutes ago. One thing I noticed

Re: [Mesa-dev] [PATCH 1/8] mesa: Record transform feedback stride in linker output.

2011-12-14 Thread Marek Olšák
The strides are useful, although they can be computed by summing up all the NumComponents fields for each buffer. Note that I also take into account ARB_transform_feedback3, which allows having interleaved attribs in more than one buffer. For the EXT_transform_feedback case and separate attribs,

Re: [Mesa-dev] [PATCH 1/2] st/egl: Add support for EGL_NOK_swap_region

2011-12-14 Thread Fredrik Höglund
On Tuesday 13 December 2011, Chia-I Wu wrote: On Fri, Dec 9, 2011 at 11:36 PM, Fredrik Höglund fred...@kde.org wrote: Backends indicate that they support this extension by returning EGL_TRUE when native_display::get_param() is called with NATIVE_PARAM_PRESENT_REGION.

Re: [Mesa-dev] [PATCH 8/8] i965: Flush pipeline on EndTransformFeedback.

2011-12-14 Thread Paul Berry
On 14 December 2011 01:44, Kenneth Graunke kenn...@whitecape.org wrote: On 12/13/2011 03:35 PM, Paul Berry wrote: A common use case for transform feedback is to perform one draw operation that writes transform feedback output to a buffer, followed by a second draw operation that consumes

Re: [Mesa-dev] [PATCH 8/8] i965: Flush pipeline on EndTransformFeedback.

2011-12-14 Thread Paul Berry
A common use case for transform feedback is to perform one draw operation that writes transform feedback output to a buffer, followed by a second draw operation that consumes that buffer as vertex input. Since vertex input is consumed at an earlier pipeline stage than writing transform feedback

Re: [Mesa-dev] [PATCH 3/8] i965 gen6+: Use 1-wide null operands for IF instructions

2011-12-14 Thread Paul Berry
On 14 December 2011 02:33, Kenneth Graunke kenn...@whitecape.org wrote: On 12/13/2011 03:35 PM, Paul Berry wrote: The Sandy Bridge PRM, volume 4, part 2, section 5.3.10 (5.3.10 Register Region Restrictions) contains the following restriction on the execution size and operand width of

Re: [Mesa-dev] [PATCH 6/8] i965 gen6: Turn on transform feedback extension.

2011-12-14 Thread Paul Berry
On 14 December 2011 02:51, Kenneth Graunke kenn...@whitecape.org wrote: On 12/13/2011 03:35 PM, Paul Berry wrote: This patch advertises support for EXT_transform_feedback on Intel Gen6 and higher. Since transform feedback support is not completely finished yet, for now we only

Re: [Mesa-dev] [PATCH 7/8] i965 gen6+: Make intel_batchbuffer_emit_mi_flush() actually flush.

2011-12-14 Thread Paul Berry
On 14 December 2011 02:59, Kenneth Graunke kenn...@whitecape.org wrote: On 12/13/2011 03:35 PM, Paul Berry wrote: Previous to this patch, the function intel_batchbuffer_emit_mi_flush() was a bit of a misnomer. On Gen4+, when not using the blit engine, it didn't actually flush the

Re: [Mesa-dev] [PATCH 1/8] mesa: Record transform feedback stride in linker output.

2011-12-14 Thread Paul Berry
On 13 December 2011 15:53, Brian Paul brian.e.p...@gmail.com wrote: On Tue, Dec 13, 2011 at 4:35 PM, Paul Berry stereotype...@gmail.com wrote: This patch adds the field gl_transform_feedback_info::BufferStride, which records the total number of components (per vertex) that transform

Re: [Mesa-dev] [PATCH 1/8] mesa: Record transform feedback stride in linker output.

2011-12-14 Thread Paul Berry
On 14 December 2011 05:48, Marek Olšák mar...@gmail.com wrote: The strides are useful, although they can be computed by summing up all the NumComponents fields for each buffer. Note that I also take into account ARB_transform_feedback3, which allows having interleaved attribs in more than one

Re: [Mesa-dev] [PATCH 1/8] mesa: Record transform feedback strides/offsets in linker output.

2011-12-14 Thread Paul Berry
This patch adds two new fields to the gl_transform_feedback_info struct: - BufferStride records the total number of components (per vertex) that transform feedback is being instructed to store in each buffer. - Outputs[i].DstOffset records the offset within the interleaved structure of each

Re: [Mesa-dev] [PATCH 1/2] mesa, gallium: add a cap for GPUs without unified color+generic varying slots

2011-12-14 Thread Ian Romanick
On 12/13/2011 04:32 PM, Marek Olšák wrote: --- src/gallium/drivers/r300/r300_screen.c |3 ++- src/gallium/include/pipe/p_defines.h |3 ++- src/glsl/linker.cpp|6 ++ src/mesa/main/mtypes.h |9 +

Re: [Mesa-dev] [PATCH 3/8] i965 gen6+: Use 1-wide null operands for IF instructions

2011-12-14 Thread Eric Anholt
On Wed, 14 Dec 2011 08:06:20 -0800, Paul Berry stereotype...@gmail.com wrote: On 14 December 2011 02:33, Kenneth Graunke kenn...@whitecape.org wrote: I think the point is that the ARF null register doesn't have a value, so null0,1,0 is just as good as null4,4,1 or null8,8,1. Either way you

Re: [Mesa-dev] [PATCH 7/8] i965 gen6+: Make intel_batchbuffer_emit_mi_flush() actually flush.

2011-12-14 Thread Kenneth Graunke
On 12/14/2011 08:28 AM, Paul Berry wrote: On 14 December 2011 02:59, Kenneth Graunke kenn...@whitecape.org mailto:kenn...@whitecape.org wrote: On 12/13/2011 03:35 PM, Paul Berry wrote: Previous to this patch, the function intel_batchbuffer_emit_mi_flush() was a bit of a

Re: [Mesa-dev] [PATCH 6/8] i965 gen6: Turn on transform feedback extension.

2011-12-14 Thread Kenneth Graunke
On 12/14/2011 08:20 AM, Paul Berry wrote: On 14 December 2011 02:51, Kenneth Graunke kenn...@whitecape.org mailto:kenn...@whitecape.org wrote: On 12/13/2011 03:35 PM, Paul Berry wrote: This patch advertises support for EXT_transform_feedback on Intel Gen6 and higher.

[Mesa-dev] [PATCH] i965: Flush pipeline on EndTransformFeedback.

2011-12-14 Thread Kenneth Graunke
From: Paul Berry stereotype...@gmail.com A common use case for transform feedback is to perform one draw operation that writes transform feedback output to a buffer, followed by a second draw operation that consumes that buffer as vertex input. Since vertex input is consumed at an earlier

Re: [Mesa-dev] [PATCH 1/8] mesa: Record transform feedback stride in linker output.

2011-12-14 Thread Kenneth Graunke
On 12/14/2011 05:48 AM, Marek Olšák wrote: The strides are useful, although they can be computed by summing up all the NumComponents fields for each buffer. Note that I also take into account ARB_transform_feedback3, which allows having interleaved attribs in more than one buffer. For the

[Mesa-dev] [PATCH 1/2] mesa: Set the correct ctx-NewState bitfield for rasterizer discard.

2011-12-14 Thread Paul Berry
Previously, we were setting the _NEW_TRANSFORM bit when enabling or disabling RASTERIZER_DISCARD. This is incorrect, since _NEW_TRANSFORM flags changes to ctx-Transform, but the rasterizer discard flag is in ctx-TransformFeedback. This patch sets the correct bit, _NEW_TRANSFORM_FEEDBACK. ---

[Mesa-dev] [PATCH 2/2] i965 gen6: Implement rasterizer discard.

2011-12-14 Thread Paul Berry
This patch enables rasterizer discard functionality (a part of transform feedback) in Gen6, by generating an alternate GS program when rasterizer discard is active. Instead of forwarding vertices down the pipeline, the alternate GS program uses a URB Write message to deallocate the URB entry that

[Mesa-dev] [PATCH 1/2] st/egl: Add support for EGL_NOK_swap_region

2011-12-14 Thread Fredrik Höglund
Backends indicate that they support this extension by returning EGL_TRUE when native_display::get_param() is called with NATIVE_PARAM_PRESENT_REGION and NATIVE_PARAM_PRESERVE_BUFFER. native_present_control is extended to include the region that should be presented. When

[Mesa-dev] [PATCH 2/2] st/egl: Implement EGL_NOK_swap_region for x11

2011-12-14 Thread Fredrik Höglund
v2: inline x11_drawable_copy_buffers(). Signed-off-by: Fredrik Höglund fred...@kde.org --- src/gallium/state_trackers/egl/x11/native_dri2.c | 36 -- src/gallium/state_trackers/egl/x11/x11_screen.c | 21 +++- src/gallium/state_trackers/egl/x11/x11_screen.h | 14

Re: [Mesa-dev] [PATCH 1/8] intel: Drop check for wrapped_depth in RB mapping.

2011-12-14 Thread Kenneth Graunke
On 12/08/2011 01:39 PM, Eric Anholt wrote: This used to be needed because irb-mt would be unset for fake packed depth/stencil, but no longer. --- src/mesa/drivers/dri/intel/intel_fbo.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git

[Mesa-dev] [PATCH 3/3] st/egl: Add support for EGL_NV_post_sub_buffer

2011-12-14 Thread Fredrik Höglund
Signed-off-by: Fredrik Höglund fred...@kde.org --- src/gallium/state_trackers/egl/common/egl_g3d.c|8 - .../state_trackers/egl/common/egl_g3d_api.c| 26 2 files changed, 32 insertions(+), 2 deletions(-) diff --git

[Mesa-dev] [PATCH 2/3] egl_dri2/x11: Add support for EGL_NV_post_sub_buffer

2011-12-14 Thread Fredrik Höglund
Signed-off-by: Fredrik Höglund fred...@kde.org --- src/egl/drivers/dri2/platform_x11.c | 17 + 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 8dd231a..08a2c8d 100644 ---

[Mesa-dev] [PATCH 1/3] egl: add EGL_NV_post_sub_buffer

2011-12-14 Thread Fredrik Höglund
v2: Handle EGL_POST_SUB_BUFFER_SUPPORTED_NV in _eglParseSurfaceAttribList() Signed-off-by: Fredrik Höglund fred...@kde.org --- include/EGL/eglext.h |9 + src/egl/main/eglapi.c | 24 src/egl/main/eglapi.h |8

Re: [Mesa-dev] [PATCH 1/8] mesa: Record transform feedback strides/offsets in linker output.

2011-12-14 Thread Marek Olšák
Reviewed-by: Marek Olšák mar...@gmail.com Marek On Wed, Dec 14, 2011 at 6:00 PM, Paul Berry stereotype...@gmail.com wrote: This patch adds two new fields to the gl_transform_feedback_info struct: - BufferStride records the total number of components (per vertex)  that transform feedback is

Re: [Mesa-dev] [PATCH] meta: rework dest image allocation in mipmap generation code

2011-12-14 Thread Eric Anholt
On Tue, 13 Dec 2011 18:07:05 -0700, Brian Paul brian.e.p...@gmail.com wrote: From: Brian Paul bri...@vmware.com This fixes two things: 1. If the texture object was created with glTexStorage2D, the call to _mesa_TexImage2D() would generate INVALID_OPERATION since the texture is marked

Re: [Mesa-dev] [PATCH 1/3] egl: add EGL_NV_post_sub_buffer

2011-12-14 Thread Ian Romanick
On 12/14/2011 12:24 PM, Fredrik Höglund wrote: v2: Handle EGL_POST_SUB_BUFFER_SUPPORTED_NV in _eglParseSurfaceAttribList() Signed-off-by: Fredrik Höglundfred...@kde.org --- include/EGL/eglext.h |9 + src/egl/main/eglapi.c | 24

Re: [Mesa-dev] [PATCH] meta: rework dest image allocation in mipmap generation code

2011-12-14 Thread Brian Paul
On 12/14/2011 02:13 PM, Eric Anholt wrote: On Tue, 13 Dec 2011 18:07:05 -0700, Brian Paulbrian.e.p...@gmail.com wrote: From: Brian Paulbri...@vmware.com This fixes two things: 1. If the texture object was created with glTexStorage2D, the call to _mesa_TexImage2D() would generate

Re: [Mesa-dev] [PATCH 1/2] mesa: Set the correct ctx-NewState bitfield for rasterizer discard.

2011-12-14 Thread Marek Olšák
I think RASTERIZER_DISCARD has nothing to do with transform feedback. I think it's part of the same spec because it's not useful without it. As I understand it, _NEW_TRANSFORM_FEEDBACK is dirty when transform feedback buffer bindings are changed or just enabled/disabled. On the other hand,

Re: [Mesa-dev] [PATCH 1/2] mesa, gallium: add a cap for GPUs without unified color+generic varying slots

2011-12-14 Thread Marek Olšák
On Wed, Dec 14, 2011 at 6:30 PM, Ian Romanick i...@freedesktop.org wrote: On 12/13/2011 04:32 PM, Marek Olšák wrote: ---  src/gallium/drivers/r300/r300_screen.c |    3 ++-  src/gallium/include/pipe/p_defines.h   |    3 ++-  src/glsl/linker.cpp                    |    6 ++  

Re: [Mesa-dev] [PATCH v2 1/8] mesa: Track changes to transform feedback state.

2011-12-14 Thread Marek Olšák
On Wed, Dec 7, 2011 at 8:09 PM, Paul Berry stereotype...@gmail.com wrote: This patch adds a new bit to the ctx-NewState bitfield, _NEW_TRANSFORM_FEEDBACK, to track state changes that affect ctx-TransformFeedback.  This bit can be used by driver back-ends to avoid expensive recomputations when

Re: [Mesa-dev] [PATCH 1/2] mesa: Set the correct ctx-NewState bitfield for rasterizer discard.

2011-12-14 Thread Paul Berry
On 14 December 2011 13:42, Marek Olšák mar...@gmail.com wrote: I think RASTERIZER_DISCARD has nothing to do with transform feedback. I think it's part of the same spec because it's not useful without it. As I understand it, _NEW_TRANSFORM_FEEDBACK is dirty when transform feedback buffer

Re: [Mesa-dev] [PATCH] i965: Flush pipeline on EndTransformFeedback.

2011-12-14 Thread Paul Berry
A common use case for transform feedback is to perform one draw operation that writes transform feedback output to a buffer, followed by a second draw operation that consumes that buffer as vertex input. Since vertex input is consumed at an earlier pipeline stage than writing transform feedback

Re: [Mesa-dev] [PATCH] i965: Flush pipeline on EndTransformFeedback.

2011-12-14 Thread Kenneth Graunke
On 12/14/2011 02:54 PM, Paul Berry wrote: A common use case for transform feedback is to perform one draw operation that writes transform feedback output to a buffer, followed by a second draw operation that consumes that buffer as vertex input. Since vertex input is consumed at an earlier

Re: [Mesa-dev] [PATCH 1/2] mesa: Set the correct ctx-NewState bitfield for rasterizer discard.

2011-12-14 Thread Marek Olšák
On Wed, Dec 14, 2011 at 11:25 PM, Paul Berry stereotype...@gmail.com wrote: On 14 December 2011 13:42, Marek Olšák mar...@gmail.com wrote: I think RASTERIZER_DISCARD has nothing to do with transform feedback. I think it's part of the same spec because it's not useful without it. As I

Re: [Mesa-dev] [PATCH 1/2] mesa, gallium: add a cap for GPUs without unified color+generic varying slots

2011-12-14 Thread Ian Romanick
On 12/14/2011 01:47 PM, Marek Olšák wrote: On Wed, Dec 14, 2011 at 6:30 PM, Ian Romanicki...@freedesktop.org wrote: On 12/13/2011 04:32 PM, Marek Olšák wrote: --- src/gallium/drivers/r300/r300_screen.c |3 ++- src/gallium/include/pipe/p_defines.h |3 ++- src/glsl/linker.cpp

Re: [Mesa-dev] [PATCH 13/14] i965/vs: Implement EXT_texture_swizzle support for VS texturing.

2011-12-14 Thread Kenneth Graunke
On 12/13/2011 01:19 PM, Eric Anholt wrote: On Thu, 8 Dec 2011 17:08:04 -0800, Kenneth Graunke kenn...@whitecape.org wrote: Signed-off-by: Kenneth Graunke kenn...@whitecape.org + if (one_mask) { + swizzled_result.writemask = one_mask; + emit(MOV(swizzled_result, src_reg(1.0f)));

Re: [Mesa-dev] [PATCH 1/2] mesa: Set the correct ctx-NewState bitfield for rasterizer discard.

2011-12-14 Thread Paul Berry
On 14 December 2011 15:00, Marek Olšák mar...@gmail.com wrote: On Wed, Dec 14, 2011 at 11:25 PM, Paul Berry stereotype...@gmail.com wrote: On 14 December 2011 13:42, Marek Olšák mar...@gmail.com wrote: I think RASTERIZER_DISCARD has nothing to do with transform feedback. I think it's

Re: [Mesa-dev] [PATCH 1/2] mesa: Set the correct ctx-NewState bitfield for rasterizer discard.

2011-12-14 Thread Marek Olšák
On Thu, Dec 15, 2011 at 12:18 AM, Paul Berry stereotype...@gmail.com wrote: On 14 December 2011 15:00, Marek Olšák mar...@gmail.com wrote: On Wed, Dec 14, 2011 at 11:25 PM, Paul Berry stereotype...@gmail.com wrote: On 14 December 2011 13:42, Marek Olšák mar...@gmail.com wrote: I think

Re: [Mesa-dev] [PATCH 1/2] mesa: Set the correct ctx-NewState bitfield for rasterizer discard.

2011-12-14 Thread Kenneth Graunke
On 12/14/2011 04:10 PM, Marek Olšák wrote: On Thu, Dec 15, 2011 at 12:18 AM, Paul Berry stereotype...@gmail.com wrote: On 14 December 2011 15:00, Marek Olšák mar...@gmail.com wrote: On Wed, Dec 14, 2011 at 11:25 PM, Paul Berry stereotype...@gmail.com wrote: On 14 December 2011 13:42, Marek

Re: [Mesa-dev] [PATCH 1/2] st/egl: Add support for EGL_NOK_swap_region

2011-12-14 Thread Chia-I Wu
On Thu, Dec 15, 2011 at 4:06 AM, Fredrik Höglund fred...@kde.org wrote: Backends indicate that they support this extension by returning EGL_TRUE when native_display::get_param() is called with NATIVE_PARAM_PRESENT_REGION and NATIVE_PARAM_PRESERVE_BUFFER. native_present_control is extended to

Re: [Mesa-dev] [PATCH 1/3] egl: add EGL_NV_post_sub_buffer

2011-12-14 Thread Chia-I Wu
On Thu, Dec 15, 2011 at 5:21 AM, Ian Romanick i...@freedesktop.org wrote: On 12/14/2011 12:24 PM, Fredrik Höglund wrote: v2: Handle EGL_POST_SUB_BUFFER_SUPPORTED_NV in     _eglParseSurfaceAttribList() Signed-off-by: Fredrik Höglundfred...@kde.org ---  include/EGL/eglext.h      |    9

[Mesa-dev] [PATCH 1/2] linker: fix strdup memory leak

2011-12-14 Thread Pekka Paalanen
string_to_uint_map::put() already does a strdup() for the key argument, so we leak the memory allocated by strdup() in link_uniforms.cpp. Remove the extra strdup(), fixes a few Valgrind detected leaks. Signed-off-by: Pekka Paalanen ppaala...@gmail.com --- src/glsl/link_uniforms.cpp |3 +--

[Mesa-dev] [PATCH 2/2] mesa: free gl_uniform_storage::name

2011-12-14 Thread Pekka Paalanen
parcel_out_uniform_storage::visit_field() assigns a strdup()'d string into gl_uniform_storage::name, but it is never freed. Free gl_uniform_storage::name, fixes some Valgrind reported memory leaks. Signed-off-by: Pekka Paalanen ppaala...@gmail.com --- src/mesa/main/shaderobj.c |4 1