[Mesa-dev] [RFC PATCH 01/10] glsl/loops: consolidate bounded loop handling into a lowering pass.

2013-11-30 Thread Paul Berry
Previously, all of the back-ends (ir_to_mesa, st_glsl_to_tgsi, and the i965 fs and vec4 visitors) had nearly identical logic for handling bounded loops. This replaces the duplicate logic with an equivalent lowering pass that is used by all the back-ends. Note: on i965, there is a slight increase

[Mesa-dev] [RFC PATCH 08/10] glsl/loops: Get rid of loop_variable_state::max_iterations.

2013-11-30 Thread Paul Berry
This value is now redundant with loop_variable_state::limiting_terminator->iterations and ir_loop::normative_bound. --- src/glsl/loop_analysis.h | 10 -- src/glsl/loop_controls.cpp | 41 - src/glsl/loop_unroll.cpp | 6 +++--- 3 files changed, 19

[Mesa-dev] [RFC PATCH 10/10] glsl/loops: Get rid of lower_bounded_loops and ir_loop::normative_bound.

2013-11-30 Thread Paul Berry
Now that loop_controls no longer creates normatively bound loops, there is no need for ir_loop::normative_bound or the lower_bounded_loops pass. --- src/glsl/Makefile.sources | 1 - src/glsl/ir.cpp| 1 - src/glsl/ir.h

[Mesa-dev] [RFC PATCH 05/10] glsl/loops: Allocate loop_terminator using new(mem_ctx) syntax.

2013-11-30 Thread Paul Berry
Patches to follow will introduce code into the loop_terminator constructor. Allocating loop_terminator using new(mem_ctx) syntax will ensure that the constructor runs. --- src/glsl/loop_analysis.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/glsl/loop_analysis.cpp b/s

[Mesa-dev] [RFC PATCH 00/10] glsl/loops: Eliminate loop control fields.

2013-11-30 Thread Paul Berry
Currently, when loop analysis detects a bounded loop (one which is known to no more than N times), it converts it into a "Fortran-style" loop, in which explicit fields in ir_loop record the loop counter, the from, to, and increment values, and the type of comparison used to terminate the loop, rath

[Mesa-dev] [RFC PATCH 03/10] glsl/loops: Remove unused fields iv_scale and biv from loop_variable class.

2013-11-30 Thread Paul Berry
These fields were part of some planned optimizations that never materialized. Remove them for now to simplify things; if we ever get round to adding the optimizations that would require them, we can always re-introduce them. --- src/glsl/loop_analysis.cpp | 2 -- src/glsl/loop_analysis.h | 14

[Mesa-dev] [RFC PATCH 09/10] glsl/loops: Stop creating normatively bound loops in loop_controls.

2013-11-30 Thread Paul Berry
Previously, when loop_controls analyzed a loop and found that it had a fixed bound (known at compile time), it would remove all of the loop terminators and instead set the loop's normative_bound field to force the loop to execute the correct number of times. This made loop unrolling easy, but it h

[Mesa-dev] [RFC PATCH 04/10] glsl/loops: Remove unnecessary list walk from loop_control_visitor.

2013-11-30 Thread Paul Berry
When loop_control_visitor::visit_leave(ir_loop *) is analyzing a loop terminator that acts on a certain ir_variable, it doesn't need to walk the list of induction variables to find the loop_variable entry corresponding to the variable. It can just look it up in the loop_variable_state hashtable an

[Mesa-dev] [RFC PATCH 07/10] glsl/loops: Simplify loop unrolling logic by breaking into functions.

2013-11-30 Thread Paul Berry
The old logic of loop_unroll_visitor::visit_leave(ir_loop *) was: heuristics to skip unrolling in various circumstances; if (loop contains more than one jump) return; else if (loop contains one jump) { if (the jump is an unconditional "break" at the end of the loop) {

[Mesa-dev] [RFC PATCH 06/10] glsl/loops: Move some analysis from loop_controls to loop_analysis.

2013-11-30 Thread Paul Berry
Previously, the sole responsibility of loop_analysis was to find all the variables referenced in the loop that are either loop constant or induction variables, and find all of the simple if statements that might terminate the loop. The remainder of the analysis necessary to determine how many time

[Mesa-dev] [RFC PATCH 02/10] glsl/loops: replace loop controls with a normative bound.

2013-11-30 Thread Paul Berry
This patch replaces the ir_loop fields "from", "to", "increment", "counter", and "cmp" with a single integer ("normative_bound") that serves the same purpose. I've used the name "normative_bound" to emphasize the fact that the back-end is required to emit code to prevent the loop from running more

Re: [Mesa-dev] [PATCH 08/15] i965: Reserve space for "Vertex Count" in GS outputs.

2013-11-30 Thread Paul Berry
On 12 November 2013 17:51, Kenneth Graunke wrote: > Signed-off-by: Kenneth Graunke > --- > src/mesa/drivers/dri/i965/brw_vec4_gs.c | 6 ++ > 1 file changed, 6 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4_gs.c > b/src/mesa/drivers/dri/i965/brw_vec4_gs.c > index b52d646..

Re: [Mesa-dev] [PATCH 14/15] i965/vs: Always store pull constant offsets in GRFs on Gen8.

2013-11-30 Thread Paul Berry
On 12 November 2013 17:51, Kenneth Graunke wrote: > We need to SEND from a GRF, and we can only obtain those prior to > register allocation. > > This allows us to do pull constant loads without the MRF hack. > > Signed-off-by: Kenneth Graunke > --- > src/mesa/drivers/dri/i965/brw_vec4_visitor.c

Re: [Mesa-dev] [PATCH][9.2] st/xorg: Handle new DamageUnregister API which has only one argument

2013-11-30 Thread Emil Velikov
On 29/11/13 16:23, Chí-Thanh Christopher Nguyễn wrote: > This fixes building against the new API in X server 1.15 > Taken from xf86-video-modesetting beca4dfb0e4d11d3729214967a1fe56ee5669831 > from Keith Packard Hi Chí-Thanh Christopher Nguyễn, Are there any Gentoo people actually using the X.Org

Re: [Mesa-dev] [PATCH 08/15] i965: Reserve space for "Vertex Count" in GS outputs.

2013-11-30 Thread Kenneth Graunke
On 11/30/2013 10:29 AM, Paul Berry wrote: > On 12 November 2013 17:51, Kenneth Graunke > wrote: > > Signed-off-by: Kenneth Graunke > > --- > src/mesa/drivers/dri/i965/brw_vec4_gs.c | 6 ++ > 1 file changed, 6 in

[Mesa-dev] [PATCH 3/3] gallium/radeon: use PRIu64 macro for printing uint64_t

2013-11-30 Thread Emil Velikov
Signed-off-by: Emil Velikov --- src/gallium/drivers/radeon/r600_pipe_common.c | 3 ++- src/gallium/drivers/radeon/r600_texture.c | 7 --- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_co

[Mesa-dev] [PATCH 1/3] mesa: resolve typo DTXn/DXTn

2013-11-30 Thread Emil Velikov
Signed-off-by: Emil Velikov --- src/mesa/main/teximage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 793c5d3..71865ae 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2870,7 +2870,7 @@ _mesa_

[Mesa-dev] [PATCH 2/3] pipe-loader: build llvmpipe on top of softpipe

2013-11-30 Thread Emil Velikov
One can select if they want to fallback to softpipe. Current approach makes this not possible, whereas other targets (dri-swrast) handle this approapriately. Signed-off-by: Emil Velikov --- src/gallium/targets/pipe-loader/Makefile.am | 17 +++-- 1 file changed, 7 insertions(+), 10 de

Re: [Mesa-dev] [PATCH 1/3] mesa: resolve typo DTXn/DXTn

2013-11-30 Thread Kenneth Graunke
On 11/30/2013 01:23 PM, Emil Velikov wrote: > Signed-off-by: Emil Velikov > --- > src/mesa/main/teximage.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c > index 793c5d3..71865ae 100644 > --- a/src/mesa/main/teximage.c

Re: [Mesa-dev] [PATCH 0/6] i965: Enable CMS layout for multisample textures

2013-11-30 Thread Chris Forbes
Chasing down the sample-mask-execution failure revealed some other missing machinery; will resend once everything is working. On Sat, Nov 30, 2013 at 2:21 PM, Chris Forbes wrote: > This series enables the compressed multisample layout for multisample > textures. > Previously we would only use CM

[Mesa-dev] [PATCH V2 03/10] i965/wm: Set copy of sample mask in 3DSTATE_PS correctly for Haswell

2013-11-30 Thread Chris Forbes
The bspec says: "SW must program the sample mask value in this field so that it matches with 3DSTATE_SAMPLE_MASK" I haven't observed this to actually fix anything, but stumbled across it while adding the rest of the support for CMS layout for multisample textures. Signed-off-by: Chris Forbes

[Mesa-dev] [PATCH V2 05/10] i965/Gen7: Move decision to allocate MCS surface into intel_mipmap_create

2013-11-30 Thread Chris Forbes
This gives us correct behavior for both renderbuffers (which previously worked) and multisample textures (which would never get an MCS surface allocated, even if CMS layout was selected) Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 14 -- 1 file cha

[Mesa-dev] [PATCH V2 04/10] i965/Gen7: emit mcs info for multisample textures

2013-11-30 Thread Chris Forbes
Previously this was only done for render targets. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/gen7_wm_surface_state.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c b/src/mesa/drivers/dri/i965/gen7_wm_surface_state.c inde

[Mesa-dev] [PATCH V2 09/10] i965/vs: Sample from MCS surface when required

2013-11-30 Thread Chris Forbes
Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_vec4.h | 1 + src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 42 +- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/

[Mesa-dev] [PATCH V2 00/10] i965: Enable CMS layout for multisample textures

2013-11-30 Thread Chris Forbes
This series enables the compressed multisample layout for multisample textures. Previously we would only use CMS for renderbuffers, since our texelFetch() implementation didn't understand it. Changes from V1: - Include fix for Haswell's second copy of the sample mask - Actually allocate an MCS sur

[Mesa-dev] [PATCH V2 01/10] i965: make compute_msaa_layout() nonstatic, add intel_ prefix

2013-11-30 Thread Chris Forbes
We're about to need this in the computation of the sampler key. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 6 +++--- src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i96

[Mesa-dev] [PATCH V2 07/10] i965: Add shader opcode for sampling MCS surface

2013-11-30 Thread Chris Forbes
Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_defines.h | 1 + src/mesa/drivers/dri/i965/brw_fs.cpp | 1 + src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 5 + src/mesa/drivers/dri/i965/brw_shader.cpp | 3 +++ src/mesa/drivers/dri/i965/brw_vec4.

[Mesa-dev] [PATCH V2 10/10] i965/Gen7: Allow CMS layout for multisample textures

2013-11-30 Thread Chris Forbes
Now that all the pieces are in place, this should provide a nice performance boost for apps using multisample textures. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 18 +- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/mesa/dr

[Mesa-dev] [PATCH V2 06/10] i965/Gen7: Include bitfield in the sampler key for CMS layout

2013-11-30 Thread Chris Forbes
We need to emit extra shader code in this case to sample the MCS surface first; we can't just blindly do this all the time since IVB will sometimes try to access the MCS surface even if disabled. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_program.h | 5 + src/mesa/drivers/

[Mesa-dev] [PATCH V2 02/10] i965: refactor sample mask calculation

2013-11-30 Thread Chris Forbes
Haswell needs a copy of the sample mask in 3DSTATE_PS; this makes that convenient. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_context.h| 7 +-- src/mesa/drivers/dri/i965/gen6_blorp.cpp | 2 +- src/mesa/drivers/dri/i965/gen6_multisample_state.c | 63

[Mesa-dev] [PATCH V2 08/10] i965/fs: Sample from MCS surface when required

2013-11-30 Thread Chris Forbes
Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_fs.h | 3 +- src/mesa/drivers/dri/i965/brw_fs_fp.cpp | 2 +- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 46 +++- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/mesa/dri

[Mesa-dev] [Bug 62142] Mesa/demo mipmap_limits upside down with running by SOFTWARE

2013-11-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=62142 Ian Romanick changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|---

[Mesa-dev] [Bug 66213] Certain Mesa Demos Rendering Inverted (vertically)

2013-11-30 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=66213 Ian Romanick changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Mesa-dev] Mesa 10.0 released

2013-11-30 Thread Ian Romanick
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Mesa 10.0 has been released! Mesa 10.0 is a feature release that includes many updates and enhancements. The full list is available in the release notes file in docs/relnotes/10.0.html. The tag in the GIT repository for Mesa 10.0 is 'mesa-10.0'. Mesa