mesa.git
12 years agoglsl_to_tgsi: remove debugging printf
Bryan Cain [Tue, 2 Aug 2011 16:36:44 +0000 (11:36 -0500)]
glsl_to_tgsi: remove debugging printf

12 years agoglsl_to_tgsi: copy reladdr in st_src_reg(st_dst_reg) constructor
Bryan Cain [Wed, 27 Jul 2011 21:39:40 +0000 (16:39 -0500)]
glsl_to_tgsi: copy reladdr in st_src_reg(st_dst_reg) constructor

This is a glsl_to_tgsi port of commit f7cd9a858c04.

12 years agoglsl_to_tgsi: add each relative address to the previous
Bryan Cain [Wed, 27 Jul 2011 21:36:10 +0000 (16:36 -0500)]
glsl_to_tgsi: add each relative address to the previous

This is a glsl_to_tgsi port of commit d6e1a8f71437.

12 years agoglsl_to_tgsi: lower all ir_quadop_vector expressions
Bryan Cain [Wed, 27 Jul 2011 20:45:16 +0000 (15:45 -0500)]
glsl_to_tgsi: lower all ir_quadop_vector expressions

Unlike Mesa IR, TGSI doesn't have a SWZ opcode.

12 years agoglsl_to_tgsi: rework immediate tracking to not use gl_program_parameter_list
Bryan Cain [Wed, 27 Jul 2011 20:20:19 +0000 (15:20 -0500)]
glsl_to_tgsi: rework immediate tracking to not use gl_program_parameter_list

12 years agoglsl_to_tgsi: update comments
Bryan Cain [Fri, 22 Jul 2011 18:24:42 +0000 (13:24 -0500)]
glsl_to_tgsi: update comments

12 years agoglsl_to_tgsi: make coding style more consistent
Bryan Cain [Fri, 22 Jul 2011 18:23:26 +0000 (13:23 -0500)]
glsl_to_tgsi: make coding style more consistent

12 years agoglsl_to_tgsi: make assignment hack safer
Bryan Cain [Thu, 21 Jul 2011 21:29:56 +0000 (16:29 -0500)]
glsl_to_tgsi: make assignment hack safer

Fixes an assertion failure in piglit test glsl-texcoord-array.

12 years agoglsl_to_tgsi: separate immediates from array constants during IR translation
Bryan Cain [Thu, 21 Jul 2011 20:49:26 +0000 (15:49 -0500)]
glsl_to_tgsi: separate immediates from array constants during IR translation

Before, if any uniform or constant array was accessed with indirect
addressing, st_translate_program() would emit uniform constants in the place
of immediates.  This behavior was unavoidable with ir_to_mesa/mesa_to_tgsi, but
glsl_to_tgsi can work around it since the GLSL IR backend and the TGSI
emission are both inside the state tracker.

12 years agoglsl_to_tgsi: fix mistakes in get_pixel_transfer_visitor()
Bryan Cain [Sun, 10 Jul 2011 22:36:04 +0000 (17:36 -0500)]
glsl_to_tgsi: fix mistakes in get_pixel_transfer_visitor()

I noticed these issues while working on get_bitmap_visitor().

12 years agost/mesa, glsl_to_tgsi: support glBitmap with a GLSL fragment shader active
Bryan Cain [Sun, 10 Jul 2011 22:17:38 +0000 (17:17 -0500)]
st/mesa, glsl_to_tgsi: support glBitmap with a GLSL fragment shader active

12 years agost/mesa, glsl_to_tgsi: support glDrawPixels/glCopyPixels with a GLSL fragment shader...
Bryan Cain [Sat, 9 Jul 2011 02:12:08 +0000 (21:12 -0500)]
st/mesa, glsl_to_tgsi: support glDrawPixels/glCopyPixels with a GLSL fragment shader active

Since this was previously implemented using Mesa IR and _mesa_combine_programs,
this commit adds a new code path that works with glsl_to_tgsi.

12 years agoglsl_to_tgsi: replace MAX_PROGRAM_TEMPS (256) with MAX_TEMPS (4096)
Bryan Cain [Mon, 4 Jul 2011 13:44:12 +0000 (08:44 -0500)]
glsl_to_tgsi: replace MAX_PROGRAM_TEMPS (256) with MAX_TEMPS (4096)

12 years agor200, r600c, i965: fix build
Bryan Cain [Thu, 30 Jun 2011 18:42:37 +0000 (13:42 -0500)]
r200, r600c, i965: fix build

12 years agoglsl_to_tgsi: always run copy_propagate() and eliminate_dead_code_advanced()
Bryan Cain [Mon, 27 Jun 2011 22:40:10 +0000 (17:40 -0500)]
glsl_to_tgsi: always run copy_propagate() and eliminate_dead_code_advanced()

These two passes are written to handle indirect addressing properly.

12 years agoglsl_to_tgsi: fix mistake in new dead code elimination pass
Bryan Cain [Mon, 27 Jun 2011 22:25:50 +0000 (17:25 -0500)]
glsl_to_tgsi: fix mistake in new dead code elimination pass

The conditions of IF opcodes were not being counted as reads, which sometimes
led to the condition register being wrong or undefined.

12 years agoglsl_to_tgsi: improve assignment handling
Bryan Cain [Mon, 27 Jun 2011 22:11:07 +0000 (17:11 -0500)]
glsl_to_tgsi: improve assignment handling

This is a hack, but it's better than emitting an unnecessary MOV instruction
and hoping the optimization passes clean it up.

12 years agoglsl_to_tgsi: improve eliminate_dead_code_advanced()
Bryan Cain [Sat, 25 Jun 2011 04:17:30 +0000 (23:17 -0500)]
glsl_to_tgsi: improve eliminate_dead_code_advanced()

12 years agoglsl_to_tgsi: use the correct writemask in try_emit_mad() and try_emit_sat()
Bryan Cain [Sat, 25 Jun 2011 03:32:26 +0000 (22:32 -0500)]
glsl_to_tgsi: use the correct writemask in try_emit_mad() and try_emit_sat()

12 years agoglsl_to_tgsi: use a more specific condition for gl_FragDepth hack in generating assig...
Bryan Cain [Sat, 25 Jun 2011 01:37:53 +0000 (20:37 -0500)]
glsl_to_tgsi: use a more specific condition for gl_FragDepth hack in generating assignments

This reduces the number of instructions in the fragment shader of
glsl-fs-atan-2 from 174 to 146 with EmitNoIfs enabled.

12 years agoglsl_to_tgsi: add a better, more advanced dead code elimination pass
Bryan Cain [Fri, 24 Jun 2011 23:45:04 +0000 (18:45 -0500)]
glsl_to_tgsi: add a better, more advanced dead code elimination pass

12 years agoglsl_to_tgsi: remove handling of XPD opcode in compile_tgsi_instruction()
Bryan Cain [Fri, 24 Jun 2011 00:53:37 +0000 (19:53 -0500)]
glsl_to_tgsi: remove handling of XPD opcode in compile_tgsi_instruction()

The opcode is never emitted by the glsl_to_tgsi_visitor, so its special case in
compile_tgsi_instruction() was dead code.

12 years agoglsl_to_tgsi: use swizzle_for_size for src reg in conditional moves
Bryan Cain [Fri, 24 Jun 2011 00:35:36 +0000 (19:35 -0500)]
glsl_to_tgsi: use swizzle_for_size for src reg in conditional moves

This prevents the copy propagation pass from being confused by undefined
channels and thus missing optimization opportunities.

12 years agoglsl_to_tgsi: execute merge_registers() after eliminate_dead_code()
Emil Velikov [Tue, 21 Jun 2011 20:52:19 +0000 (21:52 +0100)]
glsl_to_tgsi: execute merge_registers() after eliminate_dead_code()

Fixes a regression unintentionally introduced by "glsl_to_tgsi: fix shaders with
indirect addressing of temps" that caused missing leaves in 3dmark01 test 4 (Nature)
and missing/displaced textures on human models in Counter-Strike: Source.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Bryan Cain <bryancain3@gmail.com>
12 years agoglsl_to_tgsi: implement simplify_cmp pass needed by r300g
Bryan Cain [Thu, 16 Jun 2011 23:36:16 +0000 (18:36 -0500)]
glsl_to_tgsi: implement simplify_cmp pass needed by r300g

12 years agoglsl_to_tgsi: fix compile error with g++ 4.6
Bryan Cain [Thu, 16 Jun 2011 18:42:57 +0000 (13:42 -0500)]
glsl_to_tgsi: fix compile error with g++ 4.6

12 years agoglsl: remove glsl_type::get_vec4_type()
Bryan Cain [Wed, 15 Jun 2011 22:31:51 +0000 (17:31 -0500)]
glsl: remove glsl_type::get_vec4_type()

Thanks to Kenneth Graunke for pointing out that glsl_type::get_instance(base, 4, 1)
is the same as glsl_type::get_vec4_type(base).

The function was only used in st_glsl_to_tgsi, and this commit replaces that usage
with get_instance.

12 years agoglsl_to_tgsi: silence compiler warning
Bryan Cain [Wed, 15 Jun 2011 19:45:03 +0000 (14:45 -0500)]
glsl_to_tgsi: silence compiler warning

12 years agoglsl_to_tgsi: finish some loose ends
Bryan Cain [Tue, 14 Jun 2011 23:17:40 +0000 (18:17 -0500)]
glsl_to_tgsi: finish some loose ends

12 years agoglsl-to-tgsi: fix piglit tests
Bryan Cain [Tue, 14 Jun 2011 22:38:14 +0000 (17:38 -0500)]
glsl-to-tgsi: fix piglit tests

This commit fixes all of the piglit tests regressed by "mesa, glsl_to_tgsi: add
native support for integers in shaders" on softpipe.

12 years agomesa, glsl_to_tgsi: add native support for integers in shaders
Bryan Cain [Mon, 13 Jun 2011 23:12:56 +0000 (18:12 -0500)]
mesa, glsl_to_tgsi: add native support for integers in shaders

Disabled by default on all drivers.  To enable it, change ctx->GLSLVersion to 130
in st_extensions.c.  Currently, softpipe is the only driver with integer support.

12 years agotgsi: add support for TGSI_OPCODE_MOD in tgsi_exec
Bryan Cain [Mon, 13 Jun 2011 22:52:54 +0000 (17:52 -0500)]
tgsi: add support for TGSI_OPCODE_MOD in tgsi_exec

12 years agomesa: support boolean and integer-based parameters in prog_parameter
Bryan Cain [Tue, 17 May 2011 22:13:20 +0000 (17:13 -0500)]
mesa: support boolean and integer-based parameters in prog_parameter

The functionality is not used by anything yet, and the glUniform functions will
need to be reworked before this can reach its full usefulness.  It is
nonetheless a step towards integer support in the state tracker and classic drivers.

12 years agogallium: add PIPE_SHADER_CAP_INTEGERS
Bryan Cain [Fri, 6 May 2011 02:10:28 +0000 (21:10 -0500)]
gallium: add PIPE_SHADER_CAP_INTEGERS

12 years agoglsl_to_tgsi: fix shaders with indirect addressing of temps
Bryan Cain [Tue, 3 May 2011 04:12:18 +0000 (23:12 -0500)]
glsl_to_tgsi: fix shaders with indirect addressing of temps

Fixes several Piglit tests, although it's a step backwards for optimization.

12 years agoglsl_to_tgsi: use TGSI opcodes when converting from GLSL IR
Bryan Cain [Mon, 2 May 2011 02:49:21 +0000 (21:49 -0500)]
glsl_to_tgsi: use TGSI opcodes when converting from GLSL IR

Before, the translator used Mesa IR opcodes (a holdover from ir_to_mesa) and
converted them to TGSI opcodes during TGSI emission.

12 years agoglsl_to_tgsi: support DDY (ir_unop_dFdy)
Bryan Cain [Sun, 1 May 2011 16:55:03 +0000 (11:55 -0500)]
glsl_to_tgsi: support DDY (ir_unop_dFdy)

12 years agoglsl_to_tgsi: lower noise opcodes when converting from GLSL IR, not when generating...
Bryan Cain [Sun, 1 May 2011 04:17:11 +0000 (23:17 -0500)]
glsl_to_tgsi: lower noise opcodes when converting from GLSL IR, not when generating TGSI

12 years agoglsl_to_tgsi: define the sampler objects used
Bryan Cain [Sun, 1 May 2011 02:17:38 +0000 (21:17 -0500)]
glsl_to_tgsi: define the sampler objects used

Fixes the Nexuiz title screen and the water in 0 A.D.

12 years agoglsl_to_tgsi: remove a bad assertion
Bryan Cain [Sat, 30 Apr 2011 18:44:32 +0000 (13:44 -0500)]
glsl_to_tgsi: remove a bad assertion

It was triggered by Alien Arena.

12 years agoglsl_to_tgsi: remove reads to output registers
Bryan Cain [Sat, 30 Apr 2011 18:03:33 +0000 (13:03 -0500)]
glsl_to_tgsi: remove reads to output registers

Fixes a regression in 0 A.D. introduced by 809a11c77073e999fd47.

12 years agoglsl_to_tgsi: stop generating Mesa IR
Bryan Cain [Sat, 30 Apr 2011 00:24:57 +0000 (19:24 -0500)]
glsl_to_tgsi: stop generating Mesa IR

Before, it was still generating unused Mesa IR as a remnant of ir_to_mesa, and
depended on some of the information from it.

12 years agomesa: fix segfault when no Mesa IR is generated
Bryan Cain [Sat, 30 Apr 2011 00:00:24 +0000 (19:00 -0500)]
mesa: fix segfault when no Mesa IR is generated

12 years agost/mesa: Add a GLSL IR to TGSI translator.
Bryan Cain [Tue, 26 Apr 2011 04:37:47 +0000 (23:37 -0500)]
st/mesa: Add a GLSL IR to TGSI translator.

It is still a work in progress at this point, but it produces working and
reasonably well-optimized code.

Originally based on ir_to_mesa and st_mesa_to_tgsi, but does not directly use
Mesa IR instructions in TGSI generation, instead generating TGSI from the
intermediate class glsl_to_tgsi_instruction.  It also has new optimization
passes to replace _mesa_optimize_program.

12 years agor600g: disable render condition for some blitter operations
Marek Olšák [Wed, 15 Jun 2011 12:26:41 +0000 (14:26 +0200)]
r600g: disable render condition for some blitter operations

12 years agor600g: fix TXD src regs needing fetching.
Mike Kaplinskiy [Wed, 15 Jun 2011 06:56:10 +0000 (16:56 +1000)]
r600g: fix TXD src regs needing fetching.

[airlied: final chunk of Mike's patch from bug 37476
this uses a loop to emit the GRADIENTS and does a check to
see if we need to fetch to a temporary register. It also
increases the context src gpr to 4 which is needed here.]

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agor600g: use inlines for some common tex instr setup code.
Mike Kaplinskiy [Wed, 15 Jun 2011 06:26:17 +0000 (16:26 +1000)]
r600g: use inlines for some common tex instr setup code.

[airlied: taken from Mike's patch in bug 37476]

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoglsl/builtins: Actually implement int/ivec variants of abs().
Kenneth Graunke [Wed, 15 Jun 2011 04:36:43 +0000 (21:36 -0700)]
glsl/builtins: Actually implement int/ivec variants of abs().

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
NOTE: This is a candidate for stable release branches (and don't forget
      to re-run "make builtins" after cherry-picking.)

12 years agor600g: fix TXD when shadowing is enabled.
Mike Kaplinskiy [Wed, 15 Jun 2011 05:54:21 +0000 (15:54 +1000)]
r600g: fix TXD when shadowing is enabled.

Mike had actually done a lot of the TXD support in a patch in bug
37476 which I see now, I'll add the bits of his work that I didn't think
to add to my work.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agor600g: add TXD support.
Dave Airlie [Wed, 15 Jun 2011 05:15:41 +0000 (15:15 +1000)]
r600g: add TXD support.

This at least passes the piglit arb_shader_texture_lod-texgrad test,
the AMD shader analyzer seems to multiply the V component by an unspecified
constant value no idea why.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoi915g: add const qualifier to silence warning
Brian Paul [Wed, 15 Jun 2011 02:47:47 +0000 (20:47 -0600)]
i915g: add const qualifier to silence warning

12 years agor600g: also set TILE_MODE of the base level
Marek Olšák [Wed, 15 Jun 2011 02:16:05 +0000 (04:16 +0200)]
r600g: also set TILE_MODE of the base level

12 years agor600g: force OpenGL's BASE_LEVEL behavior on r600-r700
Marek Olšák [Wed, 15 Jun 2011 00:24:03 +0000 (02:24 +0200)]
r600g: force OpenGL's BASE_LEVEL behavior on r600-r700

This sets the base level as the zero level, which fixes
piglit/texturing/tex-miplevel-selection*.

The r600 hardware ignores the BASE_LEVEL field in some cases, so we can't
use it.

Evergreen might need this too.

12 years agoglsl/generate_builtins.py: Remove regexp to kill pointer addresses.
Kenneth Graunke [Tue, 14 Jun 2011 00:43:32 +0000 (17:43 -0700)]
glsl/generate_builtins.py: Remove regexp to kill pointer addresses.

Commit 56ef62d9885f805bbfb2243dc860ff425d5b4d3b
"glsl: Generate readable unique names at print time."
changed ir_print_visitor to not generate @0x1234567 suffixes except
where necessary.  So there's no need to manually remove them.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agoglapi: _glapi_create_table_from_handle: Set missing pointers to NoOp rather than...
Jeremy Huddleston [Tue, 14 Jun 2011 19:34:49 +0000 (12:34 -0700)]
glapi: _glapi_create_table_from_handle: Set missing pointers to NoOp rather than NULL

This change to _glapi_create_table_from_handle causes it to fill the dispatch
table with NoOps for unimplemented functionality.  This matches what is done
in indirect_init.c and also allows us to enable logging (when built with
-DDEBUG and the MESA_DEBUG or LIBGL_DEBUG environment variables are set) to
catch cases where clients are trying to use these unimplemented extentions.

Additionally, this fixes some gcc -pedantic warnings.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agost/mesa: fix indentation, whitespace
Brian Paul [Tue, 14 Jun 2011 15:24:50 +0000 (09:24 -0600)]
st/mesa: fix indentation, whitespace

12 years agost/mesa: replace st->ctx with ctx
Brian Paul [Tue, 14 Jun 2011 15:15:36 +0000 (09:15 -0600)]
st/mesa: replace st->ctx with ctx

12 years agost/mesa: fix comments, whitespace
Brian Paul [Tue, 14 Jun 2011 14:40:43 +0000 (08:40 -0600)]
st/mesa: fix comments, whitespace

12 years agodocs: 7.10.3 updates
Brian Paul [Tue, 14 Jun 2011 00:32:39 +0000 (18:32 -0600)]
docs: 7.10.3 updates

12 years agost/mesa: improved is_interleaved_arrays() checking
Brian Paul [Mon, 13 Jun 2011 23:34:20 +0000 (17:34 -0600)]
st/mesa: improved is_interleaved_arrays() checking

Check that the difference in array pointers/offsets from the 0th
array are less than the stride, for both VBOs and user-space arrays.
Previously, we were only doing this for the later.

This tightens up the interleaved array test and fixes a problem with
the llvmpipe driver where we were creating way too many vertex fetch
variants only because the pipe_vertex_element::src_offset values were
changing frequently.  This change results in a 5x speed-up for one of
the viewperf tests.

Also, clean up the function to make it easier to understand.

12 years agor600c: add tiling support for evergreen+
Alex Deucher [Tue, 14 Jun 2011 22:39:59 +0000 (18:39 -0400)]
r600c: add tiling support for evergreen+

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
12 years agor600g: fix RGB32F texturing
Marek Olšák [Tue, 14 Jun 2011 18:47:57 +0000 (20:47 +0200)]
r600g: fix RGB32F texturing

12 years agor600g: fix indentation and comments
Marek Olšák [Tue, 14 Jun 2011 18:25:00 +0000 (20:25 +0200)]
r600g: fix indentation and comments

12 years agomesa: Switch generate_mipmaps_compressed() to using TexImage2D to upload.
Eric Anholt [Fri, 10 Jun 2011 19:58:56 +0000 (12:58 -0700)]
mesa: Switch generate_mipmaps_compressed() to using TexImage2D to upload.

The code was playing fast and loose with rowstrides, which meant that
if a driver chose anything different for its alignment requirements,
the generated mipmaps came out garbage.  Unlike the uncompressed case,
we can't generate mipmaps directly into image->Data, so by using
TexImage2D we cut out most of the weird logic that existed to generate
in-place into ->Data.  The up/downside is that the driver recovery
code for the fact that _mesa_generate_mipmaps whacked ->Data has to be
turned off for compressed now.

Fixes 6 piglit tests about compressed mipmap gen.

12 years agomesa: Remove uncompressed code from generate_mipmaps_compressed().
Eric Anholt [Fri, 10 Jun 2011 19:10:33 +0000 (12:10 -0700)]
mesa: Remove uncompressed code from generate_mipmaps_compressed().

12 years agomesa: Remove compressed code from generate_mipmaps_uncompressed().
Eric Anholt [Fri, 10 Jun 2011 19:04:19 +0000 (12:04 -0700)]
mesa: Remove compressed code from generate_mipmaps_uncompressed().

12 years agomesa: Split _mesa_generate_mipmap along compressed/uncompressed lines.
Eric Anholt [Fri, 10 Jun 2011 19:00:23 +0000 (12:00 -0700)]
mesa: Split _mesa_generate_mipmap along compressed/uncompressed lines.

The path taken is wildly different based on this (do we generate from
a temporary image, or from level-1's data), and we appear to have
stride bugs in the compressed case that are tough to disentangle.

This just duplicates the code for the moment, the followon commit will
do the actual changes.  Only real code change here is handling
maxLevel in one common place.

12 years agointel: Fix miptree height alignment for compressed NPOT textures.
Eric Anholt [Fri, 10 Jun 2011 00:04:12 +0000 (17:04 -0700)]
intel: Fix miptree height alignment for compressed NPOT textures.

This is effectively just "round up when dividing by 4" compared to the
previous code.  Fixes the broken stripe at the top of
fbo-generatemipmap-formats GL_EXT_texture_compression_rgtc.

12 years agointel: Drop dead preinitialization of align_w, align_h.
Eric Anholt [Fri, 10 Jun 2011 00:01:57 +0000 (17:01 -0700)]
intel: Drop dead preinitialization of align_w, align_h.

12 years agointel: Drop the cpp argument to intel_miptree_create().
Eric Anholt [Thu, 9 Jun 2011 17:23:17 +0000 (10:23 -0700)]
intel: Drop the cpp argument to intel_miptree_create().

12 years agointel: Calculate compress_byte in intel_miptree_create.
Eric Anholt [Thu, 9 Jun 2011 17:18:36 +0000 (10:18 -0700)]
intel: Calculate compress_byte in intel_miptree_create.

One less argument and thing to get wrong.

12 years agointel: Use the gl_format to get the base_format for miptree create.
Eric Anholt [Thu, 9 Jun 2011 17:07:56 +0000 (10:07 -0700)]
intel: Use the gl_format to get the base_format for miptree create.

One less argument to this insanely long function call.

12 years agointel: Drop the internal_format field of the mipmap tree.
Eric Anholt [Thu, 9 Jun 2011 17:00:44 +0000 (10:00 -0700)]
intel: Drop the internal_format field of the mipmap tree.

This has been replaced with the gl_format now.

12 years agointel: Make the intel_miptree_match_image format check more specific.
Eric Anholt [Thu, 9 Jun 2011 17:00:59 +0000 (10:00 -0700)]
intel: Make the intel_miptree_match_image format check more specific.

We don't care just about the internalFormat/cpp/compressed, but about
the specific format chosen.  We have no support for format
translations as part of texture validation, and furthermore it has
restrictions in the GL specification.  However, we should be making
consistent decisions for this check anyway.

12 years agoi915: Drop dead argument to translate_texture_format().
Eric Anholt [Thu, 9 Jun 2011 16:58:38 +0000 (09:58 -0700)]
i915: Drop dead argument to translate_texture_format().

12 years agointel: Add block alignment for RGTC textures.
Eric Anholt [Thu, 9 Jun 2011 16:28:19 +0000 (09:28 -0700)]
intel: Add block alignment for RGTC textures.

We were using the default 4x2 alignment instead of the 4x4 required
for RGTC textures.

12 years agointel: Add the MESA_FORMAT as a field of the miptree.
Eric Anholt [Thu, 9 Jun 2011 16:16:47 +0000 (09:16 -0700)]
intel: Add the MESA_FORMAT as a field of the miptree.

We only had internal_format before, which is way more irritating to
work with.

12 years agointel: Fix 2x2 and 1x1 compressed teximages from _mesa_generate_mipmap()
Eric Anholt [Wed, 8 Jun 2011 23:38:01 +0000 (16:38 -0700)]
intel: Fix 2x2 and 1x1 compressed teximages from _mesa_generate_mipmap()

Generally image uploads to a the region occur at TexImage time, but
that's not the case for fallback _mesa_generate_mipmap(), and in this
path we were forgetting to align the width when dividing height.  We
were just leaving out parts of the compressed block at 2x2 and 1x1
levels.

Fixes gen-compressed-teximage.

12 years agor600g: disable shader_texture_lod until there is driver support
Marek Olšák [Tue, 14 Jun 2011 18:03:04 +0000 (20:03 +0200)]
r600g: disable shader_texture_lod until there is driver support

12 years agollvmpipe: SSE2 fastpaths for b8g8r8x8 {un,}swizzle
Adam Jackson [Fri, 10 Jun 2011 16:56:51 +0000 (12:56 -0400)]
llvmpipe: SSE2 fastpaths for b8g8r8x8 {un,}swizzle

Copy-and-paste from the bgra cases.  The C paths attempt to avoid
copying the 'x' channel, but it's harmless, you might as well.  Good for
about 5% in glxgears (740 to 780 fps).

Signed-off-by: Adam Jackson <ajax@redhat.com>
12 years agonv50: fix copy/paste error in nv50_gmtyprog_validate
Christoph Bumiller [Tue, 14 Jun 2011 15:15:08 +0000 (17:15 +0200)]
nv50: fix copy/paste error in nv50_gmtyprog_validate

Used the vertprog instead of gmtyprog.

12 years agoapple: Set the glapi dispatch table on context bind
Jeremy Huddleston [Tue, 14 Jun 2011 07:45:12 +0000 (00:45 -0700)]
apple: Set the glapi dispatch table on context bind

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agoconfigure.ac: cleanup the gallium-r300 option
Marek Olšák [Tue, 14 Jun 2011 02:03:17 +0000 (04:03 +0200)]
configure.ac: cleanup the gallium-r300 option

12 years agost/xorg: remove unused variable
Marek Olšák [Tue, 14 Jun 2011 01:48:06 +0000 (03:48 +0200)]
st/xorg: remove unused variable

12 years agor600g: do not link with softpipe
Marek Olšák [Mon, 13 Jun 2011 23:41:39 +0000 (01:41 +0200)]
r600g: do not link with softpipe

12 years agor300g: do not link with softpipe
Marek Olšák [Mon, 13 Jun 2011 23:41:11 +0000 (01:41 +0200)]
r300g: do not link with softpipe

12 years agoxorg-radeon: rename to xorg-r300
Marek Olšák [Mon, 13 Jun 2011 23:00:36 +0000 (01:00 +0200)]
xorg-radeon: rename to xorg-r300

12 years agotarget-helpers: remove copy-pasted function inline_noop_helper
Marek Olšák [Mon, 13 Jun 2011 23:23:20 +0000 (01:23 +0200)]
target-helpers: remove copy-pasted function inline_noop_helper

12 years agor600g: skip SPI setup for position and face inputs
Vadim Girlin [Mon, 13 Jun 2011 01:43:47 +0000 (05:43 +0400)]
r600g: skip SPI setup for position and face inputs

fixes fdo bug 38145

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agor600g: move depth texture flushing out of line.
Dave Airlie [Tue, 7 Jun 2011 05:41:30 +0000 (15:41 +1000)]
r600g: move depth texture flushing out of line.

this needs a piglit run.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agometa: Fix glCopyTexImage(GL_LUMINANCE) from non-GL_LUMINANCE source.
Eric Anholt [Wed, 8 Jun 2011 20:00:51 +0000 (13:00 -0700)]
meta: Fix glCopyTexImage(GL_LUMINANCE) from non-GL_LUMINANCE source.

glReadPixels() was performing RGB -> L conversion differently from the
glTexImage() style conversion appropriate for glCopyTexImage().

Fixes gles2conform copy_texture.

12 years agointel: Fix mipmap and format handling of blit glCopyPixels().
Eric Anholt [Wed, 8 Jun 2011 19:06:43 +0000 (12:06 -0700)]
intel: Fix mipmap and format handling of blit glCopyPixels().

Fixes fbo-mipmap-copypix.

12 years agointel: Do the drawable x/y offset in intel_renderbuffer_map() for spans.
Eric Anholt [Tue, 31 May 2011 22:38:17 +0000 (15:38 -0700)]
intel: Do the drawable x/y offset in intel_renderbuffer_map() for spans.

We were mapping the renderbuffer once, then walking over all the
buffers to map just the texture ones using the other texture mapping
function that handled the x/y offset to the image in the region.  But
then we would go and overwrite *those* mappings with the original
mappings for depth/stencil, which was wrong.

Instead, just walk over the attachments once and map the attachments.
Wasn't that easy?

12 years agointel: Use rb->Data and rb->RowStride to handle spans Y flipping.
Eric Anholt [Tue, 31 May 2011 22:33:36 +0000 (15:33 -0700)]
intel: Use rb->Data and rb->RowStride to handle spans Y flipping.

This is already pointing at 0 or Height - 1 and with an appropriate
pitch, so no need to recompute those values per customization of the
spans code.  Cuts 3 out of 21kb of the compiled size.

Reviewed-by: Chad Versace <chad@chad-versace.us>
12 years agointel: Clean up intel_render_texture with a rename and a helper function.
Eric Anholt [Tue, 31 May 2011 22:07:56 +0000 (15:07 -0700)]
intel: Clean up intel_render_texture with a rename and a helper function.

The "newImage" isn't particularly new -- it might be the same texture
that was attached to the same attachment point before.  This function
also gets called when just rebinding back to an FBO with a texture
attachment.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad@chad-versace.us>
12 years agointel: Move the draw_x/draw_y to the renderbuffer where it belongs.
Eric Anholt [Tue, 31 May 2011 21:27:18 +0000 (14:27 -0700)]
intel: Move the draw_x/draw_y to the renderbuffer where it belongs.

It was originally located in the region because the tracking of
depth/color buffers was on the regions, and getting back to the irb
would have been tricky.  Now, we're keying off of the renderbuffer in
more places, which means we can move these fields where they belong.

This could fix potential rendering failure with a single texture
having multiple images attached to different renderbuffers across
shareCtx (as far as I can tell, this was the only failure we could
cause, since anything else should trigger intel_render_texture in
between, for example a BindFramebuffer).

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad@chad-versace.us>
12 years agodri: include swrast.h, not s_texrender.h
Brian Paul [Mon, 13 Jun 2011 22:07:32 +0000 (16:07 -0600)]
dri: include swrast.h, not s_texrender.h

12 years agoglx: Remove check for gc->vtable->destroy
Jeremy Huddleston [Mon, 13 Jun 2011 19:13:44 +0000 (12:13 -0700)]
glx: Remove check for gc->vtable->destroy

gc->vtable->destroy is always set and is used unconditionally
in other places, so don't bother checking for it first.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agoapple: applegl_destroy_context: Pass along the correct display
Jeremy Huddleston [Mon, 13 Jun 2011 19:00:55 +0000 (12:00 -0700)]
apple: applegl_destroy_context: Pass along the correct display

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
12 years agoapple: Dead code removal
Jeremy Huddleston [Mon, 13 Jun 2011 19:10:38 +0000 (12:10 -0700)]
apple: Dead code removal

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>