Re: [Mesa-dev] [PATCH 1/5] mesa: add ARB_derivative_control extension bit

2014-08-14 Thread Matt Turner
On Wed, Aug 13, 2014 at 11:44 PM, Matt Turner wrote: > On Wed, Aug 13, 2014 at 9:52 PM, Ilia Mirkin wrote: >> Signed-off-by: Ilia Mirkin >> --- >> src/mesa/main/extensions.c | 1 + >> src/mesa/main/mtypes.h | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/src/mesa/main/extensio

Re: [Mesa-dev] [PATCH 1/9] glsl: Optimize min/max expression trees

2014-08-14 Thread Abdiel Janulgue
On 14.08.2014 04:33, Ian Romanick wrote: > On 07/29/2014 02:36 AM, Petri Latvala wrote: >> Add an optimization pass that drops min/max expression operands that >> can be proven to not contribute to the final result. The algorithm is >> similar to alpha-beta pruning on a minmax search, from the fi

Re: [Mesa-dev] [PATCH 1/9] glsl: Optimize min/max expression trees

2014-08-14 Thread Connor Abbott
On Tue, Jul 29, 2014 at 2:36 AM, Petri Latvala wrote: > Add an optimization pass that drops min/max expression operands that > can be proven to not contribute to the final result. The algorithm is > similar to alpha-beta pruning on a minmax search, from the field of > AI. > > This optimization pas

Re: [Mesa-dev] [PATCH] egl_dri2: fix EXT_image_dma_buf_import fds

2014-08-14 Thread Pekka Paalanen
On Wed, 13 Aug 2014 19:46:40 +0300 "Pohjolainen, Topi" wrote: > On Fri, Aug 08, 2014 at 05:28:59PM +0300, Pekka Paalanen wrote: > > From: Pekka Paalanen > > > > The EGL_EXT_image_dma_buf_import specification was revised (according to > > its revision history) on Dec 5th, 2013, for EGL to not ta

Re: [Mesa-dev] [PATCH] squash! glsl: Optimize min/max expression trees

2014-08-14 Thread Connor Abbott
On Wed, Aug 13, 2014 at 9:04 PM, Matt Turner wrote: > --- > I'd squash this in at minimum. The changes are > > - Whitespace > - Removal of unnecessary destructor > - Renaming "one" and "two" to "a" and "b" (one->value.u[c0] < > two->value.u[c0]...) > - continue -> break > - assert(!...) -> u

[Mesa-dev] [PATCH] glsl: Fixed vectorize pass vs. texture lookups

2014-08-14 Thread Aras Pranckevicius
Attached patch fixes GLSL vectorization optimization going wrong on some texture lookups, see https://bugs.freedesktop.org/show_bug.cgi?id=82574 -- Aras Pranckevičius work: http://unity3d.com home: http://aras-p.info From 9c592e2d0216e1b17f303be3ae1505b209abd5b3 Mon Sep 17 00:00:00 2001 From: Ar

[Mesa-dev] [PATCH 0/5] Enable ARB_derivative_control for i965/Gen7+

2014-08-14 Thread Chris Forbes
Since i965 already had derivative control via hints & driconf, this was too trivial to pass up. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH 2/5] i965/vec4: Assert that fine/coarse derivative ops don't appear

2014-08-14 Thread Chris Forbes
Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 4 1 file changed, 4 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 1b46850..5a13094 100644 --- a/src/mesa/drivers/dri/i965/brw

[Mesa-dev] [PATCH 3/5] i965/fs: Support fine/coarse derivative opcodes

2014-08-14 Thread Chris Forbes
The quality level (fine/coarse/dont-care) is plumbed through to the generator as a constant in src1. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_defines.h| 6 ++ src/mesa/drivers/dri/i965/brw_fs.h | 4 ++-- .../dri/i965/brw_fs_channel_expressio

[Mesa-dev] [PATCH 5/5] docs: Mark off ARB_derivative_control for i965.

2014-08-14 Thread Chris Forbes
Also update 10.3 relnotes to match, and note nv50/nvc0 support there. Signed-off-by: Chris Forbes --- docs/GL3.txt| 2 +- docs/relnotes/10.3.html | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/GL3.txt b/docs/GL3.txt index 0631c72..1c3567e 100644 --- a/docs/

[Mesa-dev] [PATCH 1/5] glsl: Mark program as using dFdy if coarse/fine variant is used

2014-08-14 Thread Chris Forbes
Signed-off-by: Chris Forbes --- src/glsl/ir_set_program_inouts.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp index 5163eb2..97ead75 100644 --- a/src/glsl/ir_set_program_inouts.cpp +++ b/src/glsl/

[Mesa-dev] [PATCH 4/5] i965: Enable ARB_derivative_control on Gen7+.

2014-08-14 Thread Chris Forbes
The extension says GL 4.0 is required. We'll meet the spirit of that restriction by enabling on just those generations which will soon support GL 4.0 (Gen7+), although it's technically supportable on all generations. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/intel_extensions.c |

Re: [Mesa-dev] [PATCH 2/5] glsl: add ARB_derivative control support

2014-08-14 Thread Chris Forbes
Reviewed-by: Chris Forbes On Thu, Aug 14, 2014 at 4:52 PM, Ilia Mirkin wrote: > Signed-off-by: Ilia Mirkin > --- > src/glsl/builtin_functions.cpp | 48 > + > src/glsl/glcpp/glcpp-parse.y| 3 +++ > src/glsl/glsl_parser_extras.cpp | 1 + > src/glsl

[Mesa-dev] [PATCH 2/2] vl/compositor: set the scissor before clearing the render target

2014-08-14 Thread Christian König
From: Christian König Otherwise we clear areas that shouldn't be cleared. Signed-off-by: Christian König --- src/gallium/auxiliary/vl/vl_compositor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_comp

[Mesa-dev] [PATCH 1/2] st/vdpau: fix vlVdpOutputSurfaceRender(Output|Bitmap)Surface

2014-08-14 Thread Christian König
From: Christian König Correctly handle that the source_surface is only optional. Signed-off-by: Christian König --- src/gallium/state_trackers/vdpau/device.c| 43 +++- src/gallium/state_trackers/vdpau/output.c| 42 +++ src/gallium/state_t

[Mesa-dev] [PATCH 08/11] glsl: enable/disable certain lowering passes for doubles

2014-08-14 Thread Dave Airlie
We want to restrict some lowering passes to floats only, and enable other for doubles. Signed-off-by: Dave Airlie --- src/glsl/lower_instructions.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/glsl/lower_instructions.cpp b/src/glsl/lower_instructions.cpp index

[Mesa-dev] [PATCH 07/11] glsl: add double support

2014-08-14 Thread Dave Airlie
This adds the guts of the fp64 implementation to the GLSL compiler. - builtin double types - double constant support - lexer parsing for double types (lf, LF) - enforcing flat on double fs inputs - double operations (d2f,f2d, pack/unpack, frexp - in 2 parts) - ir builder bits. - double constant ex

[Mesa-dev] [PATCH 09/11] glsl/lower_instructions: add double lowering passes

2014-08-14 Thread Dave Airlie
This lowers double dot product and lrp to fma. Signed-off-by: Dave Airlie --- src/glsl/lower_instructions.cpp | 83 + 1 file changed, 83 insertions(+) diff --git a/src/glsl/lower_instructions.cpp b/src/glsl/lower_instructions.cpp index eced619..f737556 10

[Mesa-dev] [RFC] initial ARB_gpu_shader_fp64 posting

2014-08-14 Thread Dave Airlie
This is just the mesa and glsl compiler portions of the ARB_gpu_shader_fp64 extension that I've been slowly iterating over the past few months. All in http://cgit.freedesktop.org/~airlied/mesa/log/?h=arb_gpu_shader_fp64-submit but underneath the gallium + softpipe + mesa/st development, which al

[Mesa-dev] [PATCH 05/11] mesa: add double uniform support.

2014-08-14 Thread Dave Airlie
From: Dave Airlie This adds support for the new uniform interfaces from ARB_gpu_shader_fp64. Signed-off-by: Dave Airlie --- src/mesa/main/uniform_query.cpp | 50 + src/mesa/main/uniforms.c | 91 +++ src/mesa/main/uniforms.h

[Mesa-dev] [PATCH 03/11] mesa: add mesa_type_is_double helper function

2014-08-14 Thread Dave Airlie
This is a helper to return if a type is based on a double. Signed-off-by: Dave Airlie --- src/mesa/program/prog_parameter.h | 22 ++ 1 file changed, 22 insertions(+) diff --git a/src/mesa/program/prog_parameter.h b/src/mesa/program/prog_parameter.h index 6b3b3c2..9ee0f5e 10

[Mesa-dev] [PATCH 01/11] glapi: add ARB_gpu_shader_fp64

2014-08-14 Thread Dave Airlie
From: Dave Airlie Just add the xml file covering this extension, and dummy interface files in mesa, and fix up sanity tests. Signed-off-by: Dave Airlie --- src/mapi/glapi/gen/ARB_gpu_shader_fp64.xml | 143 + src/mapi/glapi/gen/Makefile.am | 1 + src/ma

[Mesa-dev] [PATCH 04/11] glsl: add double type

2014-08-14 Thread Dave Airlie
From: Dave Airlie This just adds a placeholder for the GLSL_TYPE_DOUBLE. This causes a lot of warnings about unchecked type in switch statements - fix them later. Signed-off-by: Dave Airlie --- src/glsl/glsl_types.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/glsl/glsl_types.h b/s

[Mesa-dev] [PATCH 06/11] glsl: add ARB_gpu_shader_fp64 to the glsl extensions.

2014-08-14 Thread Dave Airlie
From: Dave Airlie Signed-off-by: Dave Airlie --- src/glsl/glsl_parser_extras.cpp | 1 + src/glsl/glsl_parser_extras.h | 2 ++ src/glsl/standalone_scaffolding.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp ind

[Mesa-dev] [PATCH 11/11] glsl: lower double optional passes

2014-08-14 Thread Dave Airlie
These lowering passes are optional for the backend to request, currently the TGSI softpipe backend most likely the r600g backend would want to use these passes as is. They aim to hit the gallium opcodes from the standard rounding/truncation functions. Signed-off-by: Dave Airlie --- src/glsl/ir_o

[Mesa-dev] [PATCH 10/11] glsl: implement double builtin functions

2014-08-14 Thread Dave Airlie
This implements the bulk of the builtin functions for fp64 support. Signed-off-by: Dave Airlie --- src/glsl/builtin_functions.cpp | 751 +++-- 1 file changed, 492 insertions(+), 259 deletions(-) diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_f

[Mesa-dev] [PATCH 02/11] mesa: add ARB_gpu_shader_fp64 extension info

2014-08-14 Thread Dave Airlie
From: Dave Airlie This just adds the entries to extensions.c and mtypes.h Signed-off-by: Dave Airlie --- src/mesa/main/extensions.c | 1 + src/mesa/main/mtypes.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 4f322d0..144

Re: [Mesa-dev] [PATCH 3/5] gallium: add opcodes/cap for fine derivative support

2014-08-14 Thread Marek Olšák
On Thu, Aug 14, 2014 at 6:52 AM, Ilia Mirkin wrote: > Signed-off-by: Ilia Mirkin > --- > src/gallium/auxiliary/tgsi/tgsi_info.c | 3 +++ > src/gallium/auxiliary/tgsi/tgsi_util.c | 2 ++ > src/gallium/docs/source/screen.rst | 2 ++ > src/gallium/docs/source/tg

Re: [Mesa-dev] [PATCH 4/5] mesa/st: add support for emitting fine derivative opcodes

2014-08-14 Thread Marek Olšák
Reviewed-by: Marek Olšák Marek On Thu, Aug 14, 2014 at 6:52 AM, Ilia Mirkin wrote: > Signed-off-by: Ilia Mirkin > --- > src/mesa/state_tracker/st_extensions.c | 3 ++- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 9 - > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff

Re: [Mesa-dev] [PATCH 5/5] nv50, nvc0: add support for fine derivatives

2014-08-14 Thread Marek Olšák
Are you gonna update the release notes too? Marek On Thu, Aug 14, 2014 at 6:52 AM, Ilia Mirkin wrote: > The quadop-based method we currently use on all chipsets already > provides the fine version of the derivatives. > > Signed-off-by: Ilia Mirkin > --- > docs/GL3.txt

[Mesa-dev] [PATCH 01/37] i965/gs: Use single dispatch mode as fallback to dual object mode when possible.

2014-08-14 Thread Iago Toral Quiroga
Currently, when a geometry shader can't use dual object mode we fall back to dual instance mode, however, when invocations == 1, single dispatch mode is more performant and equally efficient in terms of register pressure. Single dispatch mode requires that the driver can handle interleaving of reg

[Mesa-dev] [PATCH 02/37] i965/gen6/gs: refactor gen6_gs_state

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Currently, gen6 only uses geometry shaders for transform feedback so the state we emit is not suitable to accomodate general purpose, user-provided geometry shaders. This patch paves the way to add these support and the needed 3DSTATE_GS packet modifications for it

[Mesa-dev] [PATCH 27/37] i965/gen6/gs: Add an additional parameter to the FF_SYNC opcode.

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez We will use this parameter in later patches to provide information relevant to transform feedback that needs to be set as part of the FF_SYNC message. Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_defines.h | 4 src/me

[Mesa-dev] [PATCH 05/37] i965/gen6/gs: Setup constant push buffers for gen6 geometry shaders.

2014-08-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_state.h| 1 + src/mesa/drivers/dri/i965/brw_state_upload.c | 1 + src/mesa/drivers/dri/i965/gen6_gs_state.c| 59 ++-- 3 files changed, 49 insertions(+), 12 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/sr

[Mesa-dev] [PATCH 04/37] i965/gen6/gs: Set brw->gs.enabled to FALSE in gen6_blorp_emit_gs_disable()

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/gen6_blorp.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp index 1cab8b7..34b4331 100644 --- a/src/

[Mesa-dev] [PATCH 06/37] i965/gs: Reuse gen6 constant push buffers setup code in gen7+.

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez The code required for gen6 and gen7+ is almost the same, so reuse it. Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_state_upload.c | 4 ++-- src/mesa/drivers/dri/i965/gen6_gs_state.c| 6 - src/mesa/drivers/dri/i965/gen7_gs_

[Mesa-dev] [PATCH 09/37] i965/gen6/gs: Add instruction URB flags to geometry shaders EOT message.

2014-08-14 Thread Iago Toral Quiroga
Gen6 seems to require that EOT messages include the complete flag too or else the GPU hangs. We add will this flag to the instruction when we emit the thread end opcode. --- src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mes

[Mesa-dev] [PATCH 03/37] i965/gen6/gs: use brw_gs_prog atom instead of brw_ff_gs_prog

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez This is needed to support user-provided geometry shaders, since the brw_ff_gs_prog atom in gen6 only takes care of implementing transform feedback for vertex shaders. If there is no user-provided geometry shader the implementation falls back to the original code.

[Mesa-dev] [PATCH 33/37] i965/gen6/gs: Enable transform feedback support in geometry shaders

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_vec4_gs.c | 6 ++ src/mesa/drivers/dri/i965/gen6_gs_state.c | 13 + 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4_gs

[Mesa-dev] [PATCH 24/37] i965/gen6/gs: implement GS_OPCODE_SVB_WRITE opcode

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez This opcode will be used when sending SVB WRITE messages to save transform feedback outputs into Streamed Vertex Buffers. Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_defines.h | 12 +++ src/mesa/drivers/dri/i965/brw_sh

[Mesa-dev] [PATCH 34/37] i965/gen6/gs: upload ubo and pull constants surfaces.

2014-08-14 Thread Iago Toral Quiroga
Uniforms declared as uniform blocks are stored in ubo surfaces and need to be pulled from the geometry shader program so make sure we upload them first and do the same for pull constants. This fixes all piglit tests that use uniform blocks: bin/shader_runner tests/spec/glsl-1.50/uniform_buffer/gs-

[Mesa-dev] [PATCH 00/37] Geometry shader support in Sandy Bridge

2014-08-14 Thread Iago Toral Quiroga
Hi, this series brings support for geometry shaders in Sandy Bridge (gen6) and is combined work from Samuel and myself. A few notes: 1.- Some patches have been based on original work by Ilia Mirkin, specifically the idea of using arrays to buffer the output of the GS, subclassing the vec4_gs_visi

[Mesa-dev] [PATCH 13/37] i965/gen6/gs: Implement GS_OPCODE_SET_DWORD_2.

2014-08-14 Thread Iago Toral Quiroga
We have GS_OPCODE_SET_DWORD_2_IMMED but this requires its source argument to be an immediate. In gen6 we need to set dword 2 of the URB write message header from values stored in separate register, so we need something more flexible. --- src/mesa/drivers/dri/i965/brw_defines.h | 8 ++

[Mesa-dev] [PATCH 07/37] i965/gen6/gs: Implement GS_OPCODE_FF_SYNC.

2014-08-14 Thread Iago Toral Quiroga
This implements the FF_SYNC message required in gen6 geometry shaders to get the initial URB handle. --- src/mesa/drivers/dri/i965/brw_defines.h | 14 + src/mesa/drivers/dri/i965/brw_shader.cpp | 2 ++ src/mesa/drivers/dri/i965/brw_vec4.h | 3 ++ src/mesa/dr

[Mesa-dev] [PATCH 17/37] i965/gen6/gs: Implement geometry shaders for outputs other than points.

2014-08-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp | 72 --- src/mesa/drivers/dri/i965/gen6_gs_visitor.h | 2 + 2 files changed, 67 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp b/src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp i

[Mesa-dev] [PATCH 36/37] i965/gen6: enable GLSL 1.50

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/intel_extensions.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index e134cd

[Mesa-dev] [PATCH 26/37] i965/gen6/gs: implement GS_OPCODE_FF_SYNC_SET_PRIMITIVES opcode

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez This opcode will be used when filling FF_SYNC header before emitting vertices and their data. Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_defines.h | 15 +++ src/mesa/drivers/dri/i965/brw_shader.cpp |

[Mesa-dev] [PATCH 30/37] i965/gen6/gs: Buffer PSIZ/flags vertex data in gen6_gs_visitor

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Since geometry shaders can alter the value of varyings packed in the first output VUE slot (PSIZ), we need to buffer it together with all the other vertex data so we can emit the right value for each vertex when we do the URB writes. This fixes the following pigli

[Mesa-dev] [PATCH 11/37] i965/gen6/gs: Enable URB space for user-provided geometry shaders.

2014-08-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/gen6_urb.c | 30 -- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_urb.c b/src/mesa/drivers/dri/i965/gen6_urb.c index b694f5d..7af1f37 100644 --- a/src/mesa/drivers/dri/i965/gen6_urb.c +++ b/

[Mesa-dev] [PATCH 37/37] i965/gen6: enable OpenGL 3.2

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/intel_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index ea0fc58..83101a5 1

[Mesa-dev] [PATCH 25/37] i965/gen6/gs: implement GS_OPCODE_SVB_SET_DST_INDEX opcode

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez This opcode generates code to copy the specified destination index into subregister 5 of the MRF message header. Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_defines.h | 9 + src/mesa/drivers/dri/i965/brw_shader.cp

[Mesa-dev] [PATCH 22/37] i965/gen6/gs: Assign geometry shader VUE map properly.

2014-08-14 Thread Iago Toral Quiroga
So far in gen6 we only used geometry shaders to implement transform feedback in vertex shaders, so we assumed that the VUE map for the geometry shader stage was always the same as for the vertex shader stage. This is no longer true now that we support user provided geometry shaders in gen6 too. ---

[Mesa-dev] [PATCH 15/37] i965: Generalize emit_urb_slot() to emit to any dst_reg.

2014-08-14 Thread Iago Toral Quiroga
In gen7+ we emit vertices as they come, however in gen6 geometry shaders we have to buffer vertex data for all vertices and then emit it all in one go at the end. To achieve this we need to generalize emit_urb_slot() to store vertex data in general purpose registers and not only MRF registers. ---

[Mesa-dev] [PATCH 20/37] i965/gen6/gs: Implement GS_OPCODE_SET_PRIMITIVE_ID.

2014-08-14 Thread Iago Toral Quiroga
In gen6 the geometry shader payload includes the PrimitiveID information in r0.1. When the shader code uses glPimitiveIdIn we will have to move this to a separate hardware register where we can map this attribute. This opcode takes the selected destination register and moves r0.1 there. --- src/me

[Mesa-dev] [PATCH 31/37] i965/gen6/gs: Avoid buffering transform feedback varyings twice.

2014-08-14 Thread Iago Toral Quiroga
Currently we buffer transform feedack varyings separately. This patch makes it so that we reuse the values we have already buffered for all the output varyings of the geometry shader instead. --- src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp | 181 -- src/mesa/drivers/dri/i

[Mesa-dev] [PATCH 28/37] i965/gen6/gs: implement transform feedback support in gen6_gs_visitor

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez This takes care of generating code required to handle transform feedback. Notice that transform feedback isn't enabled yet, since that requires additional setups in other parts of the code that will come in later patches. Signed-off-by: Samuel Iglesias Gonsalvez

[Mesa-dev] [PATCH 16/37] i965/gen6/gs: Add initial implementation for a gen6 geometry shader visitor.

2014-08-14 Thread Iago Toral Quiroga
Geometry shaders in gen6 are significantly different from gen7+ so it is better to have them implemented in a different file rather than adding gen6 branching paths all over brw_vec4_gs_visitor.cpp. This commit adds an initial implementation that only handles point output, which is the simplest ca

[Mesa-dev] [PATCH 08/37] i965/gen6/gs: Implement GS_OPCODE_URB_WRITE_ALLOCATE.

2014-08-14 Thread Iago Toral Quiroga
Gen6 geometry shaders need to allocate URB handles for each new vertex they emit after the first (the URB handle for the first vertex is obtained via the FF_SYNC message). This opcode adds the URB allocation mechanism to regular URB writes. --- src/mesa/drivers/dri/i965/brw_defines.h |

[Mesa-dev] [PATCH 29/37] i965/gen6/gs: Setup SOL surfaces for user-provided geometry shaders

2014-08-14 Thread Iago Toral Quiroga
From: Samuel Iglesias Gonsalvez Update gen6_gs_binding_table and gen6_sol_surface to use user-provided geometry program information when present. This is necessary to implement transform feedback support. Signed-off-by: Samuel Iglesias Gonsalvez --- src/mesa/drivers/dri/i965/brw_context.h |

[Mesa-dev] [PATCH 35/37] i965/gen6/gs: Use a specific implementation of geometry shaders for gen6.

2014-08-14 Thread Iago Toral Quiroga
In gen6 we will use the geometry shader implementation from gen6_gs_visitor.cpp and keep the implementation in brw_vec4_gs_visitor.cpp for gen7+. Notice that gen6_gs_visitor inherits from brw_vec4_gs_visitor so it is not a completely seprate implementation of geometry shaders. Also, gen6 does not

[Mesa-dev] [PATCH 19/37] i965/gen6/gs: Handle the case where a geometry shader emits no output.

2014-08-14 Thread Iago Toral Quiroga
In gen6 we need to end the thread differently depending on whether we have emitted at least one vertex or not. In case we did, the EOT message must always include the COMPLETE flag or else the GPU hangs. If we have not produced any output, however, we can't use the COMPLETE flag. This would lead u

[Mesa-dev] [PATCH 12/37] i965/gen6/gs: Upload binding table for user-provided geometry shaders.

2014-08-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_binding_tables.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_binding_tables.c b/src/mesa/drivers/dri/i965/brw_binding_tables.c index 30a54ef..709cb9c 100644 --- a/src/mesa/drivers/dri/i965/brw_binding_tabl

[Mesa-dev] [PATCH 14/37] i965: Provide means to create registers of a given size.

2014-08-14 Thread Iago Toral Quiroga
Implemented by Ilia Mirkin . --- src/mesa/drivers/dri/i965/brw_vec4.h | 1 + src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 14 ++ 2 files changed, 15 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index 5403f5a..d9

[Mesa-dev] [PATCH 32/37] i965/gen6/gs: Fix binding table clash between TF surfaces and textures.

2014-08-14 Thread Iago Toral Quiroga
For gen6 geometry shaders we use the first BRW_MAX_SOL_BINDINGS entries of the binding table for transform feedback surfaces. However, vec4_visitor will setup the binding table so that textures use the same space in the binding table. This is done when calling assign_common_binding_table_offsets(0)

[Mesa-dev] [PATCH 10/37] i965/gen6/gs: Compute URB entry size for user-provided geometry shaders.

2014-08-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_defines.h | 8 ++- src/mesa/drivers/dri/i965/brw_vec4_gs.c | 87 + 2 files changed, 62 insertions(+), 33 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 60b3846..a

[Mesa-dev] [PATCH 18/37] i965/gen6/gs: Make sure we complete the last primitive.

2014-08-14 Thread Iago Toral Quiroga
Just in case the GS algorithm does not call EndPrimitive() for the last primitive produced. This is relevant only for non point outputs, since for this we are already setting the PrimEnd flag on each vertex we emit. --- src/mesa/drivers/dri/i965/gen6_gs_visitor.cpp | 13 + 1 file chang

[Mesa-dev] [PATCH 23/37] i965/gen6/gs: Enable texture units and upload sampler state.

2014-08-14 Thread Iago Toral Quiroga
--- src/mesa/drivers/dri/i965/brw_context.c| 2 +- src/mesa/drivers/dri/i965/brw_state_upload.c | 1 + src/mesa/drivers/dri/i965/gen6_sampler_state.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i96

[Mesa-dev] [PATCH 21/37] i965/gen6/gs: Implement support for gl_PrimitiveIdIn.

2014-08-14 Thread Iago Toral Quiroga
For this we will need to move PrimitiveID information, delivered in the thread payload in r0.1, to a separate register (we use GS_OPCODE_SET_PRIMITIVE_ID for this), then map the corresponding varying slot to that register in the setup_payload() method. Notice that we cannot use a virtual register

Re: [Mesa-dev] [PATCH 5/5] nv50, nvc0: add support for fine derivatives

2014-08-14 Thread Chris Forbes
I've included an appropriate release notes change including nv50 & nvc0 in my i965 follow-up series, on the assumption that these two will land more or less together. On Thu, Aug 14, 2014 at 11:00 PM, Marek Olšák wrote: > Are you gonna update the release notes too? > > Marek > > On Thu, Aug 14, 2

Re: [Mesa-dev] [RFC] initial ARB_gpu_shader_fp64 posting

2014-08-14 Thread Tapani Pälli
Hi; On 08/14/2014 01:52 PM, Dave Airlie wrote: > This is just the mesa and glsl compiler portions of the ARB_gpu_shader_fp64 > extension that I've been slowly iterating over the past few months. > > All in > http://cgit.freedesktop.org/~airlied/mesa/log/?h=arb_gpu_shader_fp64-submit > but undern

Re: [Mesa-dev] SandyBridge not handling GL_TRIANGLE_STRIP_ADJACENCY with repeating vertex indices correctly

2014-08-14 Thread Iago Toral Quiroga
On mar, 2014-07-29 at 10:12 +0200, Iago Toral Quiroga wrote: > Hi, > > running the piglit tests on my implementation of geometry shaders for > Sandy Bridge produces a GPU hang for the following test: > > ./glsl-1.50-geometry-primitive-id-restart GL_TRIANGLE_STRIP_ADJACENCY > ffs > > That test ch

[Mesa-dev] [Bug 81680] [r600g] Firefox crashes with hardware acceleration turned on

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=81680 --- Comment #28 from Eugene --- (In reply to comment #27) > (In reply to comment #17) > > Program received signal SIGSEGV, Segmentation fault. > > PatchJump (label=..., jump=...) at > > When it says 'PatchJump (label=..., jump=...) at [...]', it

[Mesa-dev] [Bug 79629] [dri3] piglit glx_GLX_ARB_create_context_current_with_no_framebuffer fails

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=79629 Eero Tamminen changed: What|Removed |Added CC||eero.t.tammi...@intel.com -- You are re

Re: [Mesa-dev] [PATCH 37/37] i965/gen6: enable OpenGL 3.2

2014-08-14 Thread Iago Toral
Hi Mike, I don't really know, probably someone from Intel should confirm this. Iago On Thu, 2014-08-14 at 14:14 +0100, Mike Lothian wrote: > Isn't everything already added for GL 3.3? > > On 14 Aug 2014 12:13, "Iago Toral Quiroga" wrote: > From: Samuel Iglesias Gonsalvez > >

Re: [Mesa-dev] [PATCH 37/37] i965/gen6: enable OpenGL 3.2

2014-08-14 Thread Mike Lothian
I think everything that's required for GL 3.3 has already been added can we jump directly there? On 14 Aug 2014 12:13, "Iago Toral Quiroga" wrote: > From: Samuel Iglesias Gonsalvez > > Signed-off-by: Samuel Iglesias Gonsalvez > --- > src/mesa/drivers/dri/i965/intel_screen.c | 2 +- > 1 file ch

Re: [Mesa-dev] [PATCH 36/37] i965/gen6: enable GLSL 1.50

2014-08-14 Thread Mike Lothian
We can probably just change this to check for gen >= 6 and expose 3.30 On 14 Aug 2014 12:13, "Iago Toral Quiroga" wrote: > From: Samuel Iglesias Gonsalvez > > Signed-off-by: Samuel Iglesias Gonsalvez > --- > src/mesa/drivers/dri/i965/intel_extensions.c | 2 +- > 1 file changed, 1 insertion(+),

Re: [Mesa-dev] [PATCH 1/1] configure.ac: Fix build with git-svn llvm version string

2014-08-14 Thread Tom Stellard
On Wed, Aug 13, 2014 at 04:46:56PM -0400, Jan Vesely wrote: > Signed-off-by: Jan Vesely > --- > > My llvm-config --version is > 3.6.0git-svn-r215564-cd35a3b3 > > This patch assumes that the interesting part consists of only digits and dots. > > > configure.ac | 2 +- > 1 file changed, 1 inser

Re: [Mesa-dev] [PATCH 3/5] gallium: add opcodes/cap for fine derivative support

2014-08-14 Thread Roland Scheidegger
Reviewed-by: Roland Scheidegger llvmpipe also already does the fine version. A coarse version (which we indeed do when used implicitly for sampling though with some other changes) might be minimally simpler though not even sure (might save a shuffle instruction somewhere), but probably not worth

[Mesa-dev] [PATCH] i965/blorp_clear: Use memcpy instead of assignment to copy clear value

2014-08-14 Thread Neil Roberts
Hi, After the looking at the problem in bug 81150 I was wondering if we have the same problem when using glClear with integer values. Sure enough I can trigger a similar bug on 32-bit builds with optimisations using a piglit test which I've posted here: http://lists.freedesktop.org/archives/pigli

[Mesa-dev] [PATCH] egl/main: use separate LIBEGL_C_FILES and LIBEGL_H_FILES to fix SCons build

2014-08-14 Thread Brian Paul
The linker was trying to process .h files and failing. --- src/egl/main/Makefile.am |3 ++- src/egl/main/Makefile.sources | 36 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am index

Re: [Mesa-dev] [PATCH 3/5] gallium: add opcodes/cap for fine derivative support

2014-08-14 Thread Ilia Mirkin
I guess a question is whether we should even bother with the fine version at all then? Just map everything to DDX/DDY... Although I guess if llvmpipe does the coarse version sometimes, at least the fine version is warranted. On Thu, Aug 14, 2014 at 10:12 AM, Roland Scheidegger wrote: > Reviewed-b

Re: [Mesa-dev] [PATCH] egl/main: use separate LIBEGL_C_FILES and LIBEGL_H_FILES to fix SCons build

2014-08-14 Thread Emil Velikov
On 14/08/14 15:38, Brian Paul wrote: > The linker was trying to process .h files and failing. Hi Brian, what linker do you have in mind ? Is it the same issue as reported here [1] ? If so I've just pushed Jose's patch which explicitly handles scons. commit d4a1f3fd270001b2fb0684dc981340391df8fb64

[Mesa-dev] [Bug 82534] src\egl\main\eglapi.h : fatal error LNK1107: invalid or corrupt file: cannot read at 0x2E02

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=82534 Emil Velikov changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

Re: [Mesa-dev] [PATCH] egl/main: use separate LIBEGL_C_FILES and LIBEGL_H_FILES to fix SCons build

2014-08-14 Thread Brian Paul
I guess I missed that patch/discussion. That fixes things for me too. -Brian On 08/14/2014 08:49 AM, Emil Velikov wrote: On 14/08/14 15:38, Brian Paul wrote: The linker was trying to process .h files and failing. Hi Brian, what linker do you have in mind ? Is it the same issue as reported he

[Mesa-dev] [Bug 82536] u_current.h:72: undefined reference to `__imp__glapi_Dispatch'

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=82536 Emil Velikov changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Mesa-dev] [Bug 82546] [regression] libOSMesa build failure

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=82546 Emil Velikov changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Mesa-dev] [Bug 82539] vmw_screen_dri.lo In file included from vmw_screen_dri.c:41: vmwgfx_drm.h:32:17: error: drm.h: No such file or directory

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=82539 --- Comment #8 from Emil Velikov --- The revert is already in master, so a fetch/rebase & test should suffice. Thank you -- You are receiving this mail because: You are the assignee for the bug. ___ m

[Mesa-dev] [Bug 50754] Building 32 bit mesa on 64 bit OS fails since change for automake

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=50754 --- Comment #29 from Emil Velikov --- Hello gents, While this patch looks correct at first sight I caused quite a few issues with other parts of mesa. As such I've reverted it, removed the hacky --enable-32,64-bit options, and documented (docs/a

Re: [Mesa-dev] [PATCH 1/1] configure.ac: Fix build with git-svn llvm version string

2014-08-14 Thread Jan Vesely
On Thu, 2014-08-14 at 06:35 -0700, Tom Stellard wrote: > On Wed, Aug 13, 2014 at 04:46:56PM -0400, Jan Vesely wrote: > > Signed-off-by: Jan Vesely > > --- > > > > My llvm-config --version is > > 3.6.0git-svn-r215564-cd35a3b3 > > > > This patch assumes that the interesting part consists of only d

Re: [Mesa-dev] [PATCH 2/2] vl/compositor: set the scissor before clearing the render target

2014-08-14 Thread Ilia Mirkin
Series is Reviewed-by: Ilia Mirkin On Thu, Aug 14, 2014 at 5:59 AM, Christian König wrote: > From: Christian König > > Otherwise we clear areas that shouldn't be cleared. > > Signed-off-by: Christian König > --- > src/gallium/auxiliary/vl/vl_compositor.c | 2 +- > 1 file changed, 1 insertion

Re: [Mesa-dev] [PATCH 0/5] Enable ARB_derivative_control for i965/Gen7+

2014-08-14 Thread Matt Turner
Nice. Series is Reviewed-by: Matt Turner ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH 37/37] i965/gen6: enable OpenGL 3.2

2014-08-14 Thread Matt Turner
On Thu, Aug 14, 2014 at 4:12 AM, Iago Toral Quiroga wrote: > From: Samuel Iglesias Gonsalvez > > Signed-off-by: Samuel Iglesias Gonsalvez > --- I'd squash the last two patches together. I think it's likely we can go to GL 3.3 on Sandybridge, but we'd probably like to take a look at the piglit r

Re: [Mesa-dev] [PATCH] i965/blorp_clear: Use memcpy instead of assignment to copy clear value

2014-08-14 Thread Matt Turner
Reviewed-by: Matt Turner ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] [PATCH] egl_dri2: fix EXT_image_dma_buf_import fds

2014-08-14 Thread Matt Turner
On Thu, Aug 14, 2014 at 12:24 AM, Pekka Paalanen wrote: > On Wed, 13 Aug 2014 19:46:40 +0300 > "Pohjolainen, Topi" wrote: > >> On Fri, Aug 08, 2014 at 05:28:59PM +0300, Pekka Paalanen wrote: >> > From: Pekka Paalanen >> > >> > The EGL_EXT_image_dma_buf_import specification was revised (according

[Mesa-dev] [PATCH] i965/gen8: Allow 16k viewport when blitting stencil

2014-08-14 Thread Topi Pohjolainen
From: Topi Pohjolainen Fixes gles3 conformance tests: framebuffer_blit_functionality_negative_height_blit framebuffer_blit_functionality_negative_width_blit framebuffer_blit_functionality_negative_dimensions_blit framebuffer_blit_functionality_magnifying_blit framebuffer_blit_functionality_multi

Re: [Mesa-dev] [PATCH v2 4/5] mesa: add ARB_texture_barrier support

2014-08-14 Thread Ilia Mirkin
Any chance this can get reviewed before the 10.3 cutoff tomorrow? I copied one of the existing nv_texture_barrier piglits and made use of glTextureBarrier() instead, and it still passed. On Mon, Aug 11, 2014 at 4:01 PM, Ilia Mirkin wrote: > This extension is identical to NV_texture_barrier. Alias

Re: [Mesa-dev] [PATCH 3/5] gallium: add opcodes/cap for fine derivative support

2014-08-14 Thread Roland Scheidegger
Am 14.08.2014 16:39, schrieb Ilia Mirkin: > I guess a question is whether we should even bother with the fine > version at all then? Just map everything to DDX/DDY... Although I > guess if llvmpipe does the coarse version sometimes, at least the fine > version is warranted. I think it's nice to hav

Re: [Mesa-dev] [PATCH 3/5] gallium: add opcodes/cap for fine derivative support

2014-08-14 Thread Ilia Mirkin
On Thu, Aug 14, 2014 at 12:21 PM, Roland Scheidegger wrote: > Am 14.08.2014 16:39, schrieb Ilia Mirkin: >> I guess a question is whether we should even bother with the fine >> version at all then? Just map everything to DDX/DDY... Although I >> guess if llvmpipe does the coarse version sometimes,

Re: [Mesa-dev] [PATCH 5/5] nv50, nvc0: add support for fine derivatives

2014-08-14 Thread Ilia Mirkin
I was going by the assumption that this would miss the 10.3 release and didn't want to create a 10.4 notes file quite yet. However that doesn't look to be the case, so I'll definitely drop it in :) On Thu, Aug 14, 2014 at 7:00 AM, Marek Olšák wrote: > Are you gonna update the release notes too? >

[Mesa-dev] [Bug 82327] FAIL: glcpp/tests/glcpp-test-cr-lf

2014-08-14 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=82327 --- Comment #4 from Carl Worth --- Hi folks, Sorry for being silent on this bug until now. (My spam filters were being a bit too aggressive and throwing away bugzilla email.) I'll look into these issues and come up with a fix soon. -Carl --

  1   2   >