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

[Mesa-dev] Clamp/saturate optimizations v3

2014-08-18 Thread Abdiel Janulgue
in instruction count are all due to the loop unroll pass triggered by this optimization on games that contain looped clamp/saturate operation. The unroll pass also resulted in a few shaders with looped clamp/sat skipping SIMD16 generation. ** No piglit regressions observed ** Abdiel Janulgue (17):

[Mesa-dev] [PATCH 02/17] glsl: Add ir_unop_saturate

2014-08-18 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/glsl/ir.cpp | 2 ++ src/glsl/ir.h| 1 + src/glsl/ir_validate.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index 4a4d304..ef04ed0 100644 --- a/src/glsl/ir.cpp +++ b/src/glsl/ir.cpp @@ -255,6

[Mesa-dev] [PATCH 05/17] ir_to_mesa, glsl_to_tgsi: lower ir_unop_saturate

2014-08-18 Thread Abdiel Janulgue
Needed when vertex programs doesn't allow saturate Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- src/mesa/program/ir_to_mesa.cpp| 5 - src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 6 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src

[Mesa-dev] [PATCH 07/17] i965/fs: Add support for ir_unop_saturate

2014-08-18 Thread Abdiel Janulgue
Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp | 1 + src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 4 2 files changed, 5 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp

[Mesa-dev] [PATCH 04/17] glsl: Add a pass to lower ir_unop_saturate to clamp(x, 0, 1)

2014-08-18 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/glsl/ir_optimization.h | 1 + src/glsl/lower_instructions.cpp | 29 + 2 files changed, 30 insertions(+) diff --git a/src/glsl/ir_optimization.h b/src/glsl/ir_optimization.h index b83c225..1c6f72b 100644 --- a/src/glsl

[Mesa-dev] [PATCH 14/17] i965/vec4: Allow propagation of instructions with saturate flag to sel

2014-08-18 Thread Abdiel Janulgue
rom copy_entry (Matt Turner) v4: - Take channels into consideration when propagating saturated instructions. Signed-off-by: Abdiel Janulgue --- .../drivers/dri/i965/brw_vec4_copy_propagation.cpp | 85 +++--- 1 file changed, 58 insertions(+), 27 deletions(-) diff --git a/src/m

[Mesa-dev] [PATCH 17/17] i965/vec4: Remove try_emit_saturate

2014-08-18 Thread Abdiel Janulgue
Now that saturate is implemented natively as an instruction, we can cut down on unneeded functionality. Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_vec4.h | 1 - src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 21

[Mesa-dev] [PATCH 13/17] i965/fs: Allow propagation of instructions with saturate flag to sel

2014-08-18 Thread Abdiel Janulgue
When sel conditon is bounded within 0 and 1.0. This allows code as: mov.sat a b sel.ge dst a 0.25F To be propagated as: sel.ge.sat dst b 0.25F v3: Syntax clarifications in inst->saturate assignment (Matt Turner) Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/

[Mesa-dev] [PATCH 01/17] i965/vec4/fs: Count loops in shader debug

2014-08-18 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 6 -- src/mesa/drivers/dri/i965/brw_vec4.h | 1 + src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 6 -- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri

[Mesa-dev] [PATCH 09/17] glsl: Implement saturate as ir_unop_saturate

2014-08-18 Thread Abdiel Janulgue
Now that we have the ir_unop_saturate implemented as a single instruction, generate the correct simplified expression. Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- src/glsl/ir_builder.cpp | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/glsl

[Mesa-dev] [PATCH 11/17] glsl: Optimize clamp(x, 0.0, b), where b < 1.0 as min(saturate(x), b)

2014-08-18 Thread Abdiel Janulgue
are doing a commutative operation (Matt Turner) Signed-off-by: Abdiel Janulgue --- src/glsl/opt_algebraic.cpp | 39 +++ 1 file changed, 39 insertions(+) diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index 4b052933..6dfb681 100644 --- a/

[Mesa-dev] [PATCH 06/17] ir_to_mesa, glsl_to_tgsi: Add support for ir_unop_saturate

2014-08-18 Thread Abdiel Janulgue
Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- src/mesa/program/ir_to_mesa.cpp| 6 ++ src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 6 ++ 2 files changed, 12 insertions(+) diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index

[Mesa-dev] [PATCH 10/17] glsl: Optimize clamp(x, 0, 1) as saturate(x)

2014-08-18 Thread Abdiel Janulgue
: Abdiel Janulgue --- src/glsl/opt_algebraic.cpp | 36 1 file changed, 36 insertions(+) diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index ac7514a..4b052933 100644 --- a/src/glsl/opt_algebraic.cpp +++ b/src/glsl/opt_algebraic.cpp @@ -614,6

[Mesa-dev] [PATCH 03/17] glsl: Add constant evaluation of ir_unop_saturate

2014-08-18 Thread Abdiel Janulgue
v2: Use CLAMP macro (Ian Romanick) Signed-off-by: Abdiel Janulgue --- src/glsl/ir_constant_expression.cpp | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/glsl/ir_constant_expression.cpp b/src/glsl/ir_constant_expression.cpp index 9606021..1e8b3a3 100644 --- a/src/glsl

[Mesa-dev] [PATCH 12/17] glsl: Optimize clamp(x, b, 1.0), where b > 0.0 as max(saturate(x), b)

2014-08-18 Thread Abdiel Janulgue
s a commutative operation (Matt Turner) Signed-off-by: Abdiel Janulgue --- src/glsl/opt_algebraic.cpp | 23 +++ 1 file changed, 23 insertions(+) diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index 6dfb681..447618f 100644 --- a/src/glsl/opt_algebraic.

[Mesa-dev] [PATCH 16/17] i965/fs: Refactor try_emit_saturate

2014-08-18 Thread Abdiel Janulgue
an do saturate directly. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 23 --- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp

[Mesa-dev] [PATCH 08/17] i965/vec4: Add support for ir_unop_saturate

2014-08-18 Thread Abdiel Janulgue
Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- 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 f22d38d..2e7a85d 100644 --- a

[Mesa-dev] [PATCH 15/17] ir_to_mesa, glsl_to_tgsi: Remove try_emit_saturate

2014-08-18 Thread Abdiel Janulgue
Now that saturate is implemented natively as instruction, we can cut down on unneeded functionality. Signed-off-by: Abdiel Janulgue --- src/mesa/program/ir_to_mesa.cpp| 48 src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 51 -- 2

Re: [Mesa-dev] Clamp/saturate optimizations v3

2014-08-20 Thread Abdiel Janulgue
On 20.08.2014 05:40, Matt Turner wrote: > > Patches 2-4, (5-9 already reviewed), 10, 13-16, (17 already reviewed) are > > Reviewed-by: Matt Turner > > I've requested a change come before patch 1, and then rebased patch 1 > should be an easy R-b. > > I'll need to take a closer look at 11 and

Re: [Mesa-dev] Clamp/saturate optimizations v3

2014-08-26 Thread Abdiel Janulgue
On 23.08.2014 02:57, Ian Romanick wrote: > Patches 2, 3, 4, 5, 6, 9, 10, 11, 12, 15, and 17 are > > Reviewed-by: Ian Romanick > > (Additional question below.) > > On 08/18/2014 05:17 AM, Abdiel Janulgue wrote: >> v3 of clamp and saturate optimizations >> >&g

Re: [Mesa-dev] Clamp/saturate optimizations v3

2014-08-28 Thread Abdiel Janulgue
On 26.08.2014 15:17, Abdiel Janulgue wrote: > On 23.08.2014 02:57, Ian Romanick wrote: >> Patches 2, 3, 4, 5, 6, 9, 10, 11, 12, 15, and 17 are >> >> Reviewed-by: Ian Romanick >> >> (Additional question below.) >> >> On 08/18/2014 05:17 AM, Abdiel

[Mesa-dev] Clamp/saturate optimizations v4

2014-08-29 Thread Abdiel Janulgue
Hi, Latest rebase of the saturate and clamp optimizations. Changes since v3: - Inline generate_vec4_instruction before counting loops - In patch 17, add the check for can_do_saturate() as suggested by Ken. Patches 3-18 are already reviewed by Ian and Matt * no piglit regressions * ___

[Mesa-dev] [PATCH 14/18] i965/fs: Allow propagation of instructions with saturate flag to sel

2014-08-29 Thread Abdiel Janulgue
When sel conditon is bounded within 0 and 1.0. This allows code as: mov.sat a b sel.ge dst a 0.25F To be propagated as: sel.ge.sat dst b 0.25F v3: Syntax clarifications in inst->saturate assignment (Matt Turner) Reviewed-by: Matt Turner Signed-off-by: Abdiel Janul

[Mesa-dev] [PATCH 02/18] i965/vec4/fs: Count loops in shader debug

2014-08-29 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 6 -- src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 6 -- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp b/src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH 01/18] i965/vec4: inline generate_vec4_instruction() within generate_code()

2014-08-29 Thread Abdiel Janulgue
Suggested by Matt. This patch combines and moves back the code-generation functions from generate_vec4_instruction() into generate_code(). Makes generate_code() a bit larger, but helps us to count loops in a straightforward manner. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH 03/18] glsl: Add ir_unop_saturate

2014-08-29 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue Reviewed-by: Matt Turner Reviewed-by: Ian Romanick --- src/glsl/ir.cpp | 2 ++ src/glsl/ir.h| 1 + src/glsl/ir_validate.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index 4a4d304..ef04ed0 100644

[Mesa-dev] [PATCH 05/18] glsl: Add a pass to lower ir_unop_saturate to clamp(x, 0, 1)

2014-08-29 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue Reviewed-by: Matt Turner Reviewed-by: Ian Romanick --- src/glsl/ir_optimization.h | 1 + src/glsl/lower_instructions.cpp | 29 + 2 files changed, 30 insertions(+) diff --git a/src/glsl/ir_optimization.h b/src/glsl

[Mesa-dev] [PATCH 13/18] glsl: Optimize clamp(x, b, 1.0), where b > 0.0 as max(saturate(x), b)

2014-08-29 Thread Abdiel Janulgue
s a commutative operation (Matt Turner) Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/glsl/opt_algebraic.cpp | 23 +++ 1 file changed, 23 insertions(+) diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index 6dfb681..447618f 100644 --- a/

[Mesa-dev] [PATCH 07/18] ir_to_mesa, glsl_to_tgsi: Add support for ir_unop_saturate

2014-08-29 Thread Abdiel Janulgue
Reviewed-by: Matt Turner Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/mesa/program/ir_to_mesa.cpp| 6 ++ src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 6 ++ 2 files changed, 12 insertions(+) diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program

[Mesa-dev] [PATCH 10/18] glsl: Implement saturate as ir_unop_saturate

2014-08-29 Thread Abdiel Janulgue
Now that we have the ir_unop_saturate implemented as a single instruction, generate the correct simplified expression. Reviewed-by: Matt Turner Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/glsl/ir_builder.cpp | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff

[Mesa-dev] [PATCH 04/18] glsl: Add constant evaluation of ir_unop_saturate

2014-08-29 Thread Abdiel Janulgue
v2: Use CLAMP macro (Ian Romanick) Signed-off-by: Abdiel Janulgue Reviewed-by: Matt Turner Reviewed-by: Ian Romanick --- src/glsl/ir_constant_expression.cpp | 6 ++ 1 file changed, 6 insertions(+) diff --git a/src/glsl/ir_constant_expression.cpp b/src/glsl/ir_constant_expression.cpp

[Mesa-dev] [PATCH 15/18] i965/vec4: Allow propagation of instructions with saturate flag to sel

2014-08-29 Thread Abdiel Janulgue
rom copy_entry (Matt Turner) v4: - Take channels into consideration when propagating saturated instructions. Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- .../drivers/dri/i965/brw_vec4_copy_propagation.cpp | 85 +++--- 1 file changed, 58 insertions(+), 27 deleti

[Mesa-dev] [PATCH 08/18] i965/fs: Add support for ir_unop_saturate

2014-08-29 Thread Abdiel Janulgue
Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp | 1 + src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 4 2 files changed, 5 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_fs_channel_expressions.cpp

[Mesa-dev] [PATCH 18/18] i965/vec4: Remove try_emit_saturate

2014-08-29 Thread Abdiel Janulgue
Now that saturate is implemented natively as an instruction, we can cut down on unneeded functionality. Reviewed-by: Matt Turner Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_vec4.h | 1 - src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp

[Mesa-dev] [PATCH 17/18] i965/fs: Refactor try_emit_saturate

2014-08-29 Thread Abdiel Janulgue
an do saturate directly. v4: Add can_do_saturate() check before enabling saturate modifer (Ken) Reviewed-by: Matt Turner Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 23 --- 1 file changed, 8 insertions(+

[Mesa-dev] [PATCH 12/18] glsl: Optimize clamp(x, 0.0, b), where b < 1.0 as min(saturate(x), b)

2014-08-29 Thread Abdiel Janulgue
are doing a commutative operation (Matt Turner) Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/glsl/opt_algebraic.cpp | 39 +++ 1 file changed, 39 insertions(+) diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index 4b052

[Mesa-dev] [PATCH 16/18] ir_to_mesa, glsl_to_tgsi: Remove try_emit_saturate

2014-08-29 Thread Abdiel Janulgue
Now that saturate is implemented natively as instruction, we can cut down on unneeded functionality. Reviewed-by: Matt Turner Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/mesa/program/ir_to_mesa.cpp| 48 src/mesa/state_tracker

[Mesa-dev] [PATCH 09/18] yi965/vec4: Add support for ir_unop_saturate

2014-08-29 Thread Abdiel Janulgue
Reviewed-by: Matt Turner Signed-off-by: Abdiel Janulgue --- 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 6e48be7..61bd6ec 100644 --- a

[Mesa-dev] [PATCH 06/18] ir_to_mesa, glsl_to_tgsi: lower ir_unop_saturate

2014-08-29 Thread Abdiel Janulgue
Needed when vertex programs doesn't allow saturate Reviewed-by: Matt Turner Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/mesa/program/ir_to_mesa.cpp| 5 - src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 6 +- 2 files changed, 9 insertions(+), 2 dele

[Mesa-dev] [PATCH 11/18] glsl: Optimize clamp(x, 0, 1) as saturate(x)

2014-08-29 Thread Abdiel Janulgue
Turner Reviewed-by: Ian Romanick Signed-off-by: Abdiel Janulgue --- src/glsl/opt_algebraic.cpp | 36 1 file changed, 36 insertions(+) diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index ac7514a..4b052933 100644 --- a/src/glsl

[Mesa-dev] [RFC] intel: add support for EGL_KHR_gl_image

2012-12-14 Thread Abdiel Janulgue
This patch set adds support for KHR_gl_texture_2D_image, KHR_gl_texture_cubemap_image and KHR_gl_texture_3D_image for Gen 4 -> Gen7 HW. The extension enables us to be a bit more conformant to the spec in Android at least. I've tested it on SandyBridge and IvyBridge. The approach is to export a

[Mesa-dev] [PATCH 1/6] dri2: Create image from texture

2012-12-14 Thread Abdiel Janulgue
Add create image from texture extension. Signed-off-by: Abdiel Janulgue --- include/GL/internal/dri_interface.h | 12 + src/egl/drivers/dri2/egl_dri2.c | 83 +++ 2 files changed, 95 insertions(+) diff --git a/include/GL/internal/dri_interface.h b

[Mesa-dev] [PATCH 2/6] intel: create a miptree for a region based on an offset, size, and level.

2012-12-14 Thread Abdiel Janulgue
Add intel_miptree_create_for_offset which adds support for creating a single- level miptree based on the existing offsets and dimensions of another mip-tree level. Use this function as well in intel_miptree_create_for_region, but for the whole region. Signed-off-by: Abdiel Janulgue --- src/mesa

[Mesa-dev] [PATCH 3/6] intel: add new miptree helper functions for linear copying of a miptree and calculating x and y offsets of a miptree level within a tiled region.

2012-12-14 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 31 src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 10 2 files changed, 41 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers

[Mesa-dev] [PATCH 4/6] i965: Account for offsets when emitting SURFACE_STATE.

2012-12-14 Thread Abdiel Janulgue
If the offsets are present, this lets us specify a particular level and slice in a shared region using the base level of an exported mip-map tree. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 +++- src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH 5/6] intel: implement create image from texture

2012-12-14 Thread Abdiel Janulgue
Save miptree level info to DRIImage, taking offsets into consideration. For <= gen4 hw which doesn't support non-tile aligned offset, re-create the mipmap tree internally before exporting the updated offsets to avoid alignment problems. Signed-off-by: Abdiel Janulgue --- src/mesa/dri

[Mesa-dev] [PATCH 6/6] intel: Create a miptree using offsets in intel_set_texture_image_region

2012-12-14 Thread Abdiel Janulgue
When binding a region to a texture image, re-create the miptree base-level considering the offset and dimension information exported by DRIImage. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_tex_image.c | 27 -- 1 file changed, 21 insertions

Re: [Mesa-dev] [RFC] intel: add support for EGL_KHR_gl_image

2012-12-14 Thread Abdiel Janulgue
On Friday, December 14, 2012 03:28:12 PM Abdiel Janulgue wrote: > This patch set adds support for KHR_gl_texture_2D_image, > KHR_gl_texture_cubemap_image and KHR_gl_texture_3D_image for Gen 4 -> Gen7 > HW. The extension enables us to be a bit more conformant to the spec in > Android

Re: [Mesa-dev] [RFC] intel: add support for EGL_KHR_gl_image

2012-12-17 Thread Abdiel Janulgue
On Friday, December 14, 2012 11:38:04 AM Eric Anholt wrote: > Abdiel Janulgue writes: > > This patch set adds support for KHR_gl_texture_2D_image, > > KHR_gl_texture_cubemap_image and KHR_gl_texture_3D_image for Gen 4 -> > > Gen7 HW. The extension enables us to be a bi

[Mesa-dev] intel: add support for EGL_KHR_gl_image v2

2013-01-02 Thread Abdiel Janulgue
corrected offsets back to our exported image. In this version, for non-tile-aligned surfaces, we copy the image to a temporary single-level miptree and refer to the offsets there instead of re-creating the whole miptree from scratch. Tested on: Gen4, SandyBridge, IvyBridge Abdiel Janulgue (6

[Mesa-dev] [PATCH 1/6] dri2: Create image from texture

2013-01-02 Thread Abdiel Janulgue
Add create image from texture extension. Signed-off-by: Abdiel Janulgue --- include/GL/internal/dri_interface.h | 12 + src/egl/drivers/dri2/egl_dri2.c | 83 +++ 2 files changed, 95 insertions(+) diff --git a/include/GL/internal/dri_interface.h b

[Mesa-dev] [PATCH 2/6] intel: create a miptree for a region based on an offset, size, and level.

2013-01-02 Thread Abdiel Janulgue
Add intel_miptree_create_for_offset which adds support for creating a single- level miptree based on the existing offsets and dimensions of another mip-tree level. Use this function as well in intel_miptree_create_for_region, but for the whole region. Signed-off-by: Abdiel Janulgue --- src/mesa

[Mesa-dev] [PATCH 3/6] intel: add new miptree helper functions

2013-01-02 Thread Abdiel Janulgue
Expose intel_miptree_copy_slice and add function calculating x and y offsets of a miptree level within a tiled region. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 17 - src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 13

[Mesa-dev] [PATCH 4/6] i965: Account for offsets when emitting SURFACE_STATE.

2013-01-02 Thread Abdiel Janulgue
If the offsets are present, this lets us specify a particular level and slice in a shared region using the base level of an exported mip-map tree. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 +++- src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH 5/6] intel: implement create image from texture

2013-01-02 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_screen.c | 181 + 1 file changed, 161 insertions(+), 20 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 4e2742f..0cd1a2c 100644 --- a

[Mesa-dev] [PATCH 6/6] intel: Create a miptree using offsets in intel_set_texture_image_region

2013-01-02 Thread Abdiel Janulgue
When binding a region to a texture image, re-create the miptree base-level considering the offset and dimension information exported by DRIImage. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_tex_image.c | 27 -- 1 file changed, 21 insertions

Re: [Mesa-dev] [RFC] intel: add support for EGL_KHR_gl_image

2013-01-07 Thread Abdiel Janulgue
On Thursday, January 03, 2013 05:00:39 PM Eric Anholt wrote: > > Sorry for the delay, I think we all disappeared over the holidays. > > Let's see if I've got this all right. It looks like today we have > extensions for: > > OES_EGL_image: > * turn an EGLImage into a 0-level texture > * turn an

[Mesa-dev] intel: EGL_KHR_gl_image v3

2013-01-11 Thread Abdiel Janulgue
v3 here. Hopefully I've addressed the issues. In this revision, we now report GL_INVALID_OPERATION when we can't resolve back to specific offsets within a shared region. For non-tile-aligned HW, this means that only base-levels of textures can be exported. I've also found and fixed an error in m

[Mesa-dev] [PATCH v3 1/6] dri2: Create image from texture

2013-01-11 Thread Abdiel Janulgue
Add create image from texture extension and bump version. Signed-off-by: Abdiel Janulgue --- include/GL/internal/dri_interface.h | 14 +- src/egl/drivers/dri2/egl_dri2.c | 83 +++ 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/include

[Mesa-dev] [PATCH v3 3/6] intel: add new miptree helper functions

2013-01-11 Thread Abdiel Janulgue
Expose intel_miptree_copy_slice and add function calculating x and y offsets of a miptree level within a tiled region. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 17 - src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 13

[Mesa-dev] [PATCH v3 2/6] intel: create a miptree for a region based on an offset, size, and level.

2013-01-11 Thread Abdiel Janulgue
Add intel_miptree_create_for_offset which adds support for creating a single- level miptree based on the existing offsets and dimensions of another mip-tree level. Use this function as well in intel_miptree_create_for_region, but for the whole region. Signed-off-by: Abdiel Janulgue --- src/mesa

[Mesa-dev] [PATCH v3 5/6] intel: implement create image from texture

2013-01-11 Thread Abdiel Janulgue
Save miptree level info to DRIImage, taking offsets into consideration. In non-tile-aligned surface cases where resolving back to the original image proves problematic due to alignment issues, report INVALID_OPERATION as per spec wording. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri

[Mesa-dev] [PATCH v3 4/6] i965: Account for offsets when emitting SURFACE_STATE.

2013-01-11 Thread Abdiel Janulgue
If the offsets are present, this lets us specify a particular level and slice in a shared region using the base level of an exported mip-map tree. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 +++- src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH v3 6/6] intel: Create a miptree using offsets in intel_set_texture_image_region

2013-01-11 Thread Abdiel Janulgue
When binding a region to a texture image, re-create the miptree base-level considering the offset and dimension information exported by DRIImage. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_tex_image.c | 27 -- 1 file changed, 21 insertions

Re: [Mesa-dev] intel: EGL_KHR_gl_image v3

2013-01-11 Thread Abdiel Janulgue
On Friday, January 11, 2013 04:27:23 PM Abdiel Janulgue wrote: > v3 here. Hopefully I've addressed the issues. patch series lives on git://gitorious.org/mesa3d/mesa.git KHR_gl_image3 branch > > In this revision, we now report GL_INVALID_OPERATION when we > can't re

[Mesa-dev] intel: add support for EGL_KHR_gl_image (V4)

2013-01-14 Thread Abdiel Janulgue
Changes from v3: - Unexport intel_miptree_copy_slice. We don't need fake storage anymore for non-tile aligned surfaces. - Fix error in gen6 caught by piglit test for this extension. This is another case where I forgot to consider the miptree slices; this time in updating SURFACE_STATE. -- Ab

[Mesa-dev] [PATCH V4 1/6] dri2: Create image from texture

2013-01-14 Thread Abdiel Janulgue
Add create image from texture extension and bump version. Signed-off-by: Abdiel Janulgue --- include/GL/internal/dri_interface.h | 14 +- src/egl/drivers/dri2/egl_dri2.c | 83 +++ 2 files changed, 96 insertions(+), 1 deletion(-) diff --git a/include

[Mesa-dev] [PATCH V4 3/6] intel: add new miptree helper functions

2013-01-14 Thread Abdiel Janulgue
Add helper to calculate x and y offsets of a miptree level within a tiled region. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 15 +++ src/mesa/drivers/dri/intel/intel_mipmap_tree.h |6 ++ 2 files changed, 21 insertions(+) diff

[Mesa-dev] [PATCH V4 2/6] intel: create a miptree for a region based on an offset, size, and level.

2013-01-14 Thread Abdiel Janulgue
Add intel_miptree_create_for_offset which adds support for creating a single- level miptree based on the existing offsets and dimensions of another mip-tree level. Use this function as well in intel_miptree_create_for_region, but for the whole region. Signed-off-by: Abdiel Janulgue --- src/mesa

[Mesa-dev] [PATCH V4 4/6] i965: Account for offsets when updating SURFACE_STATE.

2013-01-14 Thread Abdiel Janulgue
If the offsets are present, this lets us specify a particular level and slice in a shared region using the base level of an exported mip-map tree. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 +++- src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH V4 5/6] intel: implement create image from texture

2013-01-14 Thread Abdiel Janulgue
. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_screen.c | 178 + 1 file changed, 158 insertions(+), 20 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index e0fe8c1..ea62933 100644

[Mesa-dev] [PATCH V4 6/6] intel: Create a miptree using offsets in intel_set_texture_image_region

2013-01-14 Thread Abdiel Janulgue
When binding a region to a texture image, re-create the miptree base-level considering the offset and dimension information exported by DRIImage. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_tex_image.c | 27 -- 1 file changed, 21 insertions

Re: [Mesa-dev] [PATCH V4 5/6] intel: implement create image from texture

2013-01-16 Thread Abdiel Janulgue
On Tuesday, January 15, 2013 02:05:00 PM Eric Anholt wrote: > > +static void > > +intel_image_set_level_info(__DRIimage *image, struct intel_mipmap_tree > > *mt, + int level, int slice, > > + uint32_t mask_x, uint32_t mask_y) > > +{ > > + image

[Mesa-dev] [PATCH V5 0/7]intel: add support for EGL_KHR_gl_image

2013-01-17 Thread Abdiel Janulgue
Changes since v4: * Drop texture 3D support for now (until we test it with piglit). I plan to add it incrementally as soon as piglit tests for it are done. * Drop useless errors warnings and report proper EGL errors. * Expose intel_miptree_create_internal as intel_miptree_create_layout * Simplif

[Mesa-dev] [PATCH V5 2/7] intel: expose dimensions and offsets of a miptree level in DRIImage

2013-01-17 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_regions.h |7 +++ 1 file changed, 7 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_regions.h b/src/mesa/drivers/dri/intel/intel_regions.h index 8737a6d..95b65de 100644 --- a/src/mesa/drivers/dri/intel

[Mesa-dev] [PATCH V5 1/7] dri2: Create image from texture

2013-01-17 Thread Abdiel Janulgue
Add create image from texture extension and bump version. Signed-off-by: Abdiel Janulgue --- include/GL/internal/dri_interface.h | 14 +- src/egl/drivers/dri2/egl_dri2.c | 85 +++ 2 files changed, 98 insertions(+), 1 deletion(-) diff --git a/include

[Mesa-dev] [PATCH V5 3/7] intel: Expose intel_miptree_create_internal as intel_miptree_create_layout.

2013-01-17 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 37 src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 14 - 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b

[Mesa-dev] [PATCH V5 4/7] intel: add pixel offset calculator for miptree levels

2013-01-17 Thread Abdiel Janulgue
Add helper to calculate fine-grained x and y adjustment pixels to an image within a miptree level for tiled regions. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 15 +++ src/mesa/drivers/dri/intel/intel_mipmap_tree.h |6 ++ 2 files

[Mesa-dev] [PATCH V5 7/7] intel: implement create image from texture

2013-01-17 Thread Abdiel Janulgue
ffset alignment issues, report INVALID_OPERATION as per spec wording. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_screen.c | 186 + 1 file changed, 166 insertions(+), 20 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src

[Mesa-dev] [PATCH V5 5/7] i965: Account for offsets when updating SURFACE_STATE.

2013-01-17 Thread Abdiel Janulgue
If the offsets are present, this lets us specify a particular level and slice in a shared region using the base level of an exported mip-map tree. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 +++- src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH V5 6/7] intel: Create a miptree using offsets in intel_set_texture_image_region

2013-01-17 Thread Abdiel Janulgue
When binding a region to a texture image, re-create the miptree base-level considering the offset and dimension information exported by DRIImage. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_tex_image.c | 31 -- 1 file changed, 24 insertions

Re: [Mesa-dev] [PATCH V5 7/7] intel: implement create image from texture

2013-01-23 Thread Abdiel Janulgue
On Tuesday, January 22, 2013 11:02:34 AM Eric Anholt wrote: > 128 pixels of 32bpp is a tile width, and 128 pixels high of that is 16 > tiles. The values I see this function having are: > > mask_x = 127 > mask_y = 15 > draw_x = 0 > draw_y = 128 > image->offset = (16 * 4096) > > So when we go to

[Mesa-dev] [PATCH V6 0/8] intel: add support for EGL_KHR_gl_image

2013-01-25 Thread Abdiel Janulgue
- Rename draw_x/y to tile_x/y in dri image struct. These are now used as adjustment pixels from our stored aligned offset to the exported image instead of the entire x/y offset from the base address. - Take into consideration the offset from our bo so that sub-image functions resolves prope

[Mesa-dev] [PATCH V6 1/8] dri2: Create image from texture

2013-01-25 Thread Abdiel Janulgue
Add create image from texture extension and bump version. Signed-off-by: Abdiel Janulgue --- include/GL/internal/dri_interface.h | 14 +- src/egl/drivers/dri2/egl_dri2.c | 85 +++ 2 files changed, 98 insertions(+), 1 deletion(-) diff --git a/include

[Mesa-dev] [PATCH V6 2/8] intel: expose dimensions and offsets of a miptree level in DRIImage

2013-01-25 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_regions.h |6 ++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_regions.h b/src/mesa/drivers/dri/intel/intel_regions.h index 8737a6d..1eef3b5 100644 --- a/src/mesa/drivers/dri/intel

[Mesa-dev] [PATCH V6 3/8] intel: Expose intel_miptree_create_internal as intel_miptree_create_layout.

2013-01-25 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 37 src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 14 - 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b

[Mesa-dev] [PATCH V6 4/8] intel: add pixel offset calculator for miptree levels

2013-01-25 Thread Abdiel Janulgue
Add helper to calculate fine-grained x and y adjustment pixels to an image within a miptree level for tiled regions. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 15 +++ src/mesa/drivers/dri/intel/intel_mipmap_tree.h |6 ++ 2 files

[Mesa-dev] [PATCH V6 5/8] i965: Account for offsets when updating SURFACE_STATE.

2013-01-25 Thread Abdiel Janulgue
If the offsets are present, this lets us specify a particular level and slice in a shared region using the base level of an exported mip-map tree. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 +++- src/mesa/drivers/dri/i965

[Mesa-dev] [PATCH V6 7/8] intel: Account for mt->offset in intel_miptree_map

2013-01-25 Thread Abdiel Janulgue
We need to take account the offset from original bo when using glTexSubImage() and other functions that manipulate the subregion of an exported texture. Offsets are appended to mapped region address and when blitting from a source region. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri

[Mesa-dev] [PATCH V6 8/8] intel: implement create image from texture

2013-01-25 Thread Abdiel Janulgue
offset alignment issues, report INVALID_OPERATION as per spec wording. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_screen.c | 179 + 1 file changed, 159 insertions(+), 20 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src

[Mesa-dev] [PATCH V6 6/8] intel: Create a miptree using offsets in intel_set_texture_image_region

2013-01-25 Thread Abdiel Janulgue
When binding a region to a texture image, re-create the miptree base-level considering the offset and dimension information exported by DRIImage. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_tex_image.c | 31 -- 1 file changed, 24 insertions

Re: [Mesa-dev] intel: Progress toward removing struct intel_region

2013-01-29 Thread Abdiel Janulgue
Hi, On Tuesday, January 29, 2013 04:00:28 PM Eric Anholt wrote: > Part of my motivation here was the number of cache misses we have in the > first reference of a region after referencing the miptree wrapping it, for > things that should all live in the first cacheline of one struct. > > I think I

Re: [Mesa-dev] [PATCH V6 0/8] intel: add support for EGL_KHR_gl_image

2013-01-29 Thread Abdiel Janulgue
On Tuesday, January 29, 2013 07:54:59 AM Eric Anholt wrote: > Abdiel Janulgue writes: > > - Rename draw_x/y to tile_x/y in dri image struct. These are now used as > > > > adjustment pixels from our stored aligned offset to the exported image > > instead of the enti

[Mesa-dev] [PATCH V7 0/8] intel: add support for EGL_KHR_gl_image

2013-01-30 Thread Abdiel Janulgue
KHR_gl_image7 branch CC: Eric Anholt Reviewed-by: Eric Anholt (v6) Signed-off-by: Abdiel Janulgue ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH V7 1/8] dri2: Create image from texture

2013-01-30 Thread Abdiel Janulgue
Add create image from texture extension and bump version. Signed-off-by: Abdiel Janulgue --- include/GL/internal/dri_interface.h | 14 +- src/egl/drivers/dri2/egl_dri2.c | 85 +++ 2 files changed, 98 insertions(+), 1 deletion(-) diff --git a/include

[Mesa-dev] [PATCH V7 2/8] intel: expose dimensions and offsets of a miptree level in DRIImage

2013-01-30 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_regions.h |6 ++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_regions.h b/src/mesa/drivers/dri/intel/intel_regions.h index 1aff5d9..84cf08b 100644 --- a/src/mesa/drivers/dri/intel

[Mesa-dev] [PATCH V7 3/8] intel: Expose intel_miptree_create_internal as intel_miptree_create_layout.

2013-01-30 Thread Abdiel Janulgue
Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 27 src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 12 +++ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b

[Mesa-dev] [PATCH V7 4/8] intel: add pixel offset calculator for miptree levels

2013-01-30 Thread Abdiel Janulgue
Add helper to calculate fine-grained x and y adjustment pixels to an image within a miptree level for tiled regions. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 15 +++ src/mesa/drivers/dri/intel/intel_mipmap_tree.h |6 ++ 2 files

[Mesa-dev] [PATCH V7 5/8] i965: Account for offsets when updating SURFACE_STATE.

2013-01-30 Thread Abdiel Janulgue
If the offsets are present, this lets us specify a particular level and slice in a shared region using the base level of an exported mip-map tree. Signed-off-by: Abdiel Janulgue --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 +++- src/mesa/drivers/dri/i965

<    1   2   3   4   5   >