platform/upstream/mesa.git
13 years agomesa: Support internalFormat=GL_BGRA for DRI drivers
Kristian Høgsberg [Wed, 26 Jan 2011 20:05:46 +0000 (15:05 -0500)]
mesa: Support internalFormat=GL_BGRA for DRI drivers

13 years agost/egl: Downgrade warning to debug when we can't create a drm screen
Kristian Høgsberg [Wed, 26 Jan 2011 15:46:02 +0000 (10:46 -0500)]
st/egl: Downgrade warning to debug when we can't create a drm screen

We try to load a DRI driver if this fails so don't confuse users.

13 years agomesa: fix MESA/EXT typo
Brian Paul [Wed, 26 Jan 2011 15:01:15 +0000 (08:01 -0700)]
mesa: fix MESA/EXT typo

Spotted by Bernd Buschinski.

13 years agoutil: require debug options to be separated by commas
Marek Olšák [Mon, 24 Jan 2011 22:41:51 +0000 (23:41 +0100)]
util: require debug options to be separated by commas

Let's assume there are two options with names such that one is a substring
of another. Previously, if we only specified the longer one as a debug option,
the shorter one would be considered specified as well (because of strstr).
This commit fixes it by checking that each option is surrounded by commas.

(a regexp would be nicer, but this is not a performance critical code)

13 years agogallium: add an interface for query predicates
Zack Rusin [Wed, 26 Jan 2011 05:01:51 +0000 (00:01 -0500)]
gallium: add an interface for query predicates

as specified in the arb_occlusion_query2. just the interface.

13 years agosoftpipe: support for 1D/2D texture arrays
Brian Paul [Wed, 26 Jan 2011 03:27:10 +0000 (20:27 -0700)]
softpipe: support for 1D/2D texture arrays

13 years agost/mesa: support for 1D/2D texture arrays
Brian Paul [Wed, 26 Jan 2011 03:26:22 +0000 (20:26 -0700)]
st/mesa: support for 1D/2D texture arrays

13 years agotgsi: add support for 1D/2D texture arrays
Brian Paul [Wed, 26 Jan 2011 03:25:50 +0000 (20:25 -0700)]
tgsi: add support for 1D/2D texture arrays

13 years agoconfigure.ac: define LIBDRM_INTEL_REQUIRED
Tormod Volden [Tue, 25 Jan 2011 21:25:18 +0000 (13:25 -0800)]
configure.ac: define LIBDRM_INTEL_REQUIRED

To have the LIBDRM* requirements in one place

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agomesa: remove isProxy local var
Brian Paul [Wed, 26 Jan 2011 01:45:44 +0000 (18:45 -0700)]
mesa: remove isProxy local var

13 years agomesa: use texFormat local var in more places
Brian Paul [Wed, 26 Jan 2011 01:44:11 +0000 (18:44 -0700)]
mesa: use texFormat local var in more places

13 years agomesa: consolidate error handling code in _mesa_GetTexLevelParameteriv()
Brian Paul [Wed, 26 Jan 2011 01:42:53 +0000 (18:42 -0700)]
mesa: consolidate error handling code in _mesa_GetTexLevelParameteriv()

13 years agomesa: consolidate error handling in set_tex_parameteri()
Brian Paul [Wed, 26 Jan 2011 01:27:44 +0000 (18:27 -0700)]
mesa: consolidate error handling in set_tex_parameteri()

13 years agomesa: add checks for GL_EXT_texture_array
Brian Paul [Wed, 26 Jan 2011 01:07:45 +0000 (18:07 -0700)]
mesa: add checks for GL_EXT_texture_array

In case the driver enables GL_MESA_texture_array but not the EXT version.

13 years agolinker: Propagate max_array_access while linking functions
Ian Romanick [Tue, 25 Jan 2011 20:06:18 +0000 (12:06 -0800)]
linker: Propagate max_array_access while linking functions

Update the max_array_access of a global as functions that use that
global are pulled into the linked shader.

Fixes piglit test glsl-fs-implicit-array-size-01 and bugzilla #33219.

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agolinker: Set sizes for non-global arrays as well
Ian Romanick [Tue, 25 Jan 2011 20:04:08 +0000 (12:04 -0800)]
linker: Set sizes for non-global arrays as well

Previously only global arrays with implicit sizes would be patched.
This causes all arrays that are actually accessed to be sized.

Fixes piglit test glsl-fs-implicit-array-size-02.

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agoir_to_mesa: Add several assertions about sizes of arrays
Ian Romanick [Tue, 25 Jan 2011 19:50:04 +0000 (11:50 -0800)]
ir_to_mesa: Add several assertions about sizes of arrays

Both of these assertions are triggered by the test case in bugzilla
size of 0.

13 years agoglsl: silence uninitialized var warning in read_texture()
Brian Paul [Tue, 25 Jan 2011 20:09:57 +0000 (13:09 -0700)]
glsl: silence uninitialized var warning in read_texture()

And generate an error if the texture pattern is not matched.

13 years agor600g: Implement timer queries.
Mathias Fröhlich [Sun, 23 Jan 2011 21:35:13 +0000 (22:35 +0100)]
r600g: Implement timer queries.

13 years agor600g: Implement asyncronous query results.
Mathias Fröhlich [Sun, 23 Jan 2011 21:16:56 +0000 (22:16 +0100)]
r600g: Implement asyncronous query results.

13 years agor600g: Fix meaning of num_results for queries.
Mathias Fröhlich [Sun, 23 Jan 2011 21:10:10 +0000 (22:10 +0100)]
r600g: Fix meaning of num_results for queries.

13 years agofix potential leak in r600_context_init
Tim Wiederhake [Mon, 24 Jan 2011 15:59:16 +0000 (16:59 +0100)]
fix potential leak in r600_context_init

13 years agosilences some valgrind warnings
Tim Wiederhake [Mon, 24 Jan 2011 15:59:14 +0000 (16:59 +0100)]
silences some valgrind warnings

==5547== Conditional jump or move depends on uninitialised value(s)
==5547==    at 0x8FE745D: r600_drm_winsys_create (r600_drm.c:86)

13 years agoRevert "glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S"
Brian Paul [Tue, 25 Jan 2011 19:12:34 +0000 (12:12 -0700)]
Revert "glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S"

This reverts commit 731ec60da3ccb92f5bfb4d6f1bc3c8e712751376.

This change causes crashes in the x86-64 dispatch code.

13 years agosoftpipe: fix off-by-one error in setup_fragcoord_coeff()
Brian Paul [Tue, 25 Jan 2011 18:57:35 +0000 (11:57 -0700)]
softpipe: fix off-by-one error in setup_fragcoord_coeff()

If we invert Y, need to subtract one from the surface height.

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26795
for softpipe.

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agost/mesa: add comments in emit_wpos()
Brian Paul [Tue, 25 Jan 2011 18:57:10 +0000 (11:57 -0700)]
st/mesa: add comments in emit_wpos()

13 years agost/mesa: fix incorrect fragcoord.x translation
Brian Paul [Tue, 25 Jan 2011 18:54:05 +0000 (11:54 -0700)]
st/mesa: fix incorrect fragcoord.x translation

emit_adjusted_wpos() needs separate x,y translation values.  If we
invert Y, we don't want to effect X.

Part of the fix for http://bugs.freedesktop.org/show_bug.cgi?id=26795

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agoglapi: adding @ char before type specifier in glapi_x86.S
Dimitry Andric [Tue, 25 Jan 2011 16:23:44 +0000 (09:23 -0700)]
glapi: adding @ char before type specifier in glapi_x86.S

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33433
NOTE: This is a candidate for the 7.9 and 7.10 branches.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agoglapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S
Dimitry Andric [Tue, 25 Jan 2011 16:22:12 +0000 (09:22 -0700)]
glapi: adding missing @GOTPCREL qualifer in glapi_x86-64.S

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33440
NOTE: This is a candidate for the 7.9 and 7.10 branches

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agosvga: link libwsw for dri-vmwgfx target with make build system too
Roland Scheidegger [Tue, 25 Jan 2011 15:32:32 +0000 (16:32 +0100)]
svga: link libwsw for dri-vmwgfx target with make build system too

13 years agou_blitter: remove bogus assertion
Marek Olšák [Tue, 25 Jan 2011 04:36:35 +0000 (05:36 +0100)]
u_blitter: remove bogus assertion

The module uses the 3D engine, so it can blit non-compatible formats.

13 years agou_blitter: report recursion, update comments
Marek Olšák [Tue, 25 Jan 2011 04:30:49 +0000 (05:30 +0100)]
u_blitter: report recursion, update comments

13 years agonvc0: Move declaration before code.
Vinson Lee [Tue, 25 Jan 2011 04:04:31 +0000 (20:04 -0800)]
nvc0: Move declaration before code.

Fixes nvc0 SCons build.

13 years agogallium/tgsi: update the docs for the new opcodes a bit
Zack Rusin [Tue, 25 Jan 2011 02:45:37 +0000 (21:45 -0500)]
gallium/tgsi: update the docs for the new opcodes a bit

13 years agomesa: add red, red/green formats in _mesa_base_fbo_format()
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
mesa: add red, red/green formats in _mesa_base_fbo_format()

13 years agomesa: plug in fallback function for ctx->Driver.ValidateFramebuffer()
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
mesa: plug in fallback function for ctx->Driver.ValidateFramebuffer()

The software renderer doesn't support GL_ALPHA, GL_LUMINANCE, etc
so we should report GL_FRAMEBUFFER_UNSUPPORTED during FBO validation.

13 years agomesa: new cases in _mesa_base_fbo_format()
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
mesa: new cases in _mesa_base_fbo_format()

The set of internalFormat parameters accepted by glRenderBufferStorage
depends on the EXT vs. ARB version of framebuffer_object.  The later
added support for GL_ALPHA, GL_LUMINANCE, etc. formats.  Note that
these formats might be legal but might not be supported.  That should
be checked with glCheckFramebufferStatus().

13 years agoRevert "mesa: Simplify _mesa_base_fbo_format by making it exceptions to teximages."
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
Revert "mesa: Simplify _mesa_base_fbo_format by making it exceptions to teximages."

This reverts commit 65c41d55a06137115f0b4c67f9a3fd2708f0b625.

There really are quite a few differences in the set of internal
formats allowed by glTexImage and glRenderbufferStorage.

13 years agoscons: Add nvc0 to SConscript.
Vinson Lee [Tue, 25 Jan 2011 01:48:24 +0000 (17:48 -0800)]
scons: Add nvc0 to SConscript.

13 years agovega: implement handler/pointer conversion using a hash table
Brian Paul [Sun, 23 Jan 2011 18:47:03 +0000 (11:47 -0700)]
vega: implement handler/pointer conversion using a hash table

Before, we were just casting between 32-bit VGHandles and 64-bit pointers.

13 years agovega: remove redundant functions found elsewhere
Brian Paul [Sun, 23 Jan 2011 18:47:03 +0000 (11:47 -0700)]
vega: remove redundant functions found elsewhere

13 years agovega: replace casts with pointer/handle conversion functions
Brian Paul [Sun, 23 Jan 2011 18:47:03 +0000 (11:47 -0700)]
vega: replace casts with pointer/handle conversion functions

Per the spec, all OpenVG handles are 32-bit.  We can't just cast them
to/from integers on 64-bit systems.

Start fixing that mess by introducing a set of handle/pointer conversion
functions in handle.h.  The next step is to implement a handle/pointer
hash table...

13 years agoglx: fix request lengths
Julien Cristau [Sun, 23 Jan 2011 16:26:35 +0000 (08:26 -0800)]
glx: fix request lengths

We were sending too long requests for GLXChangeDrawableAttributes,
GLXGetDrawableAttributes, GLXDestroyPixmap and GLXDestroyWindow.

NOTE: This is a candidate for the 7.9 and 7.10 branches

Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agosvga: Add more swrast debuging
Jakob Bornecrantz [Wed, 29 Dec 2010 11:50:59 +0000 (12:50 +0100)]
svga: Add more swrast debuging

13 years agosvga: Use get once helpers for context debug envs
Jakob Bornecrantz [Wed, 29 Dec 2010 08:59:28 +0000 (09:59 +0100)]
svga: Use get once helpers for context debug envs

13 years agorbug: Fix surface reference leak
Jakob Bornecrantz [Thu, 16 Dec 2010 04:33:46 +0000 (05:33 +0100)]
rbug: Fix surface reference leak

13 years agoglsl: Fix mingw crosscompile
Jakob Bornecrantz [Mon, 24 Jan 2011 22:26:03 +0000 (23:26 +0100)]
glsl: Fix mingw crosscompile

13 years agor600g: FLT_TO_INT* are vector instructions on Evergreen.
Henri Verbeet [Mon, 24 Jan 2011 23:27:50 +0000 (00:27 +0100)]
r600g: FLT_TO_INT* are vector instructions on Evergreen.

FLT_TO_INT is a vector instruction, despite what the (current) documentation
says. FLT_TO_INT_FLOOR and FLT_TO_INT_RPI aren't explicitly mentioned in the
documentation, but those are vector instructions too.

13 years agograw: add a test showing the new sampling scheme in action
Zack Rusin [Mon, 24 Jan 2011 22:53:29 +0000 (17:53 -0500)]
graw: add a test showing the new sampling scheme in action

13 years agogallium: implement modern sampling scheme
Zack Rusin [Mon, 24 Jan 2011 22:47:10 +0000 (17:47 -0500)]
gallium: implement modern sampling scheme

largely a merge of the previously discussed origin/gallium-resource-sampling
but updated.
the idea is to allow arbitrary binding of resources, the way opencl, new gl
versions and dx10+ require, i.e.
    DCL RES[0], 2D, FLOAT

    LOAD DST[0], SRC[0], RES[0]
    SAMPLE DST[0], SRC[0], RES[0], SAMP[0]

13 years agost/mesa: Enable EXT_texture_format_BGRA8888 for gles1/2
Benjamin Franzke [Fri, 21 Jan 2011 13:29:32 +0000 (14:29 +0100)]
st/mesa: Enable EXT_texture_format_BGRA8888 for gles1/2

13 years agost/mesa: support internalFormat=GL_BGRA in TexImage2D
Benjamin Franzke [Fri, 21 Jan 2011 13:29:06 +0000 (14:29 +0100)]
st/mesa: support internalFormat=GL_BGRA in TexImage2D

13 years agomesa/es: require internalFormat==format in TexImage2D
Benjamin Franzke [Fri, 21 Jan 2011 13:26:09 +0000 (14:26 +0100)]
mesa/es: require internalFormat==format in TexImage2D

13 years agomesa: allow internalFormat=GL_BGRA_EXT in TexImage2D
Benjamin Franzke [Fri, 21 Jan 2011 13:24:11 +0000 (14:24 +0100)]
mesa: allow internalFormat=GL_BGRA_EXT in TexImage2D

13 years agomesa: s/movzxw/movzwl/ in read_rgba_span_x86.S
Dimitry Andric [Mon, 24 Jan 2011 21:36:37 +0000 (14:36 -0700)]
mesa: s/movzxw/movzwl/ in read_rgba_span_x86.S

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33386
NOTE: This is a candidate for the 7.9 and 7.10 branches

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agomesa: s/movzx/movzbl/
Dimitry Andric [Mon, 24 Jan 2011 21:34:10 +0000 (14:34 -0700)]
mesa: s/movzx/movzbl/

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33388
NOTE: This is a candidate for the 7.9 and 7.10 branches.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agoglsl: Remove long unused 'configure.ac' file.
Kenneth Graunke [Mon, 24 Jan 2011 18:33:38 +0000 (10:33 -0800)]
glsl: Remove long unused 'configure.ac' file.

This was from way back when glsl2 lived in its own repository.

13 years agodraw: Do not use LLVM's opaque types.
José Fonseca [Mon, 24 Jan 2011 09:48:45 +0000 (09:48 +0000)]
draw: Do not use LLVM's opaque types.

Contrary what the name may suggest, LLVM's opaque types are used for
recursive types -- types whose definition refers itself -- so opaque
types correspond to pre-declaring a structure in C. E.g.:

   struct node;

   struct link {
      ....
      struct node *next;
   };

   struct node {
      struct link link;
   }

Void pointers are also disallowed by LLVM. So the suggested way of creating
what's commonly referred as "opaque pointers" is using byte pointer (i.e.,
uint8_t * ).

13 years agoadd machine generated files to .gitignore
Tim Wiederhake [Mon, 24 Jan 2011 15:59:17 +0000 (07:59 -0800)]
add machine generated files to .gitignore

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agosecure malloc in translate_cache_create
Tim Wiederhake [Mon, 24 Jan 2011 15:59:15 +0000 (07:59 -0800)]
secure malloc in translate_cache_create

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agoosmesa: mklib requires arguments before objects
Christopher James Halse Rogers [Mon, 24 Jan 2011 04:22:47 +0000 (20:22 -0800)]
osmesa: mklib requires arguments before objects

Fixes the build when selecting driver=osmesa and building static libraries.
Otherwise, mklib tries to add the ‘-ltalloc’ object to the archive, which
obviously fails.

Clients which statically link to osmesa will need to link to libtalloc also,
as specified in the Libs.private of osmesa.pc.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=33360

NOTE: This is a candidate for the 7.10 branch.

Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agost/xorg: Fix build failure against xserver with XF86_CRTC_VERSION < 3.
Michel Dänzer [Mon, 24 Jan 2011 14:48:13 +0000 (15:48 +0100)]
st/xorg: Fix build failure against xserver with XF86_CRTC_VERSION < 3.

Reported by Vinson Lee.

13 years agor300g: remove unused function
Marek Olšák [Mon, 24 Jan 2011 12:30:36 +0000 (13:30 +0100)]
r300g: remove unused function

13 years agor300g: remove any traces of depth_clamp
Marek Olšák [Mon, 24 Jan 2011 12:29:19 +0000 (13:29 +0100)]
r300g: remove any traces of depth_clamp

I couldn't make it work.

GB_TILE_CONFIG.Z_EXTENDED, which enables per-pixel Z clamping, and
VAP_CLIP_CNTL.CLIP_DISABLE, which disables clipping, do help, but they
also add regressions like random graphics corruptions in some games.

13 years agor300g: handle PIPE_CAP_INSTANCED_DRAWING in get_param
Marek Olšák [Mon, 24 Jan 2011 10:39:28 +0000 (11:39 +0100)]
r300g: handle PIPE_CAP_INSTANCED_DRAWING in get_param

13 years agor600c: only colors can be flat shaded
Andre Maasikas [Mon, 24 Jan 2011 08:17:46 +0000 (10:17 +0200)]
r600c: only colors can be flat shaded

fixes stellarium text and menu display

13 years agoutil: Add function logger helpers
Jakob Bornecrantz [Sun, 23 Jan 2011 20:28:44 +0000 (21:28 +0100)]
util: Add function logger helpers

13 years agoRevert "r300g/swtcl: re-enable LLVM"
Jakob Bornecrantz [Mon, 24 Jan 2011 02:25:17 +0000 (03:25 +0100)]
Revert "r300g/swtcl: re-enable LLVM"

This reverts commit 88550083b3857184445075e70fed8b2eed4952a1.

13 years agodraw: Init llvm if not provided
Jakob Bornecrantz [Sun, 23 Jan 2011 04:22:30 +0000 (05:22 +0100)]
draw: Init llvm if not provided

13 years agoi915g: Remove draw_flushes and state that we don't need to track
Jakob Bornecrantz [Mon, 24 Jan 2011 01:03:59 +0000 (02:03 +0100)]
i915g: Remove draw_flushes and state that we don't need to track

13 years agoi915g: Improve constant handling
Jakob Bornecrantz [Sun, 23 Jan 2011 23:35:53 +0000 (00:35 +0100)]
i915g: Improve constant handling

13 years agor300g: Increase fragment shader limits for r400 cards
Tom Stellard [Mon, 13 Dec 2010 17:11:25 +0000 (09:11 -0800)]
r300g: Increase fragment shader limits for r400 cards

r400 fragment shaders now support up to 64 temporary registers,
512 ALU instructions, and 512 TEX instructions.

13 years agogldirect: remove _NEW_ACCUM
Brian Paul [Sun, 23 Jan 2011 21:06:01 +0000 (14:06 -0700)]
gldirect: remove _NEW_ACCUM

13 years agoi965: remove _NEW_ACCUM
Brian Paul [Sun, 23 Jan 2011 21:03:01 +0000 (14:03 -0700)]
i965: remove _NEW_ACCUM

13 years agonvc0: implement point coord replacement
Christoph Bumiller [Sun, 23 Jan 2011 20:29:30 +0000 (21:29 +0100)]
nvc0: implement point coord replacement

But we have to cheat and peek at the GENERIC semantic indices the
state tracker uses for TEXn.
Only outputs from 0x300 to 0x37c can be replaced, and so we have to
know on shader compilation which ones to put there in order to keep
doing separate shader objects properly.

At some point I'll probably create a patch that makes gallium not
force us to discard the information about what is a TexCoord.

13 years agomesa: add ARB_framebuffer_sRGB as alias of the EXT variant
Marek Olšák [Sun, 23 Jan 2011 12:28:06 +0000 (13:28 +0100)]
mesa: add ARB_framebuffer_sRGB as alias of the EXT variant

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agomesa: return GL_LINEAR for ..COLOR_ENCODING if framebuffer_sRGB is unsupported
Marek Olšák [Sun, 23 Jan 2011 12:26:43 +0000 (13:26 +0100)]
mesa: return GL_LINEAR for ..COLOR_ENCODING if framebuffer_sRGB is unsupported

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agovega: sort filenames in Makefile, SConscript
Brian Paul [Sun, 23 Jan 2011 17:06:24 +0000 (10:06 -0700)]
vega: sort filenames in Makefile, SConscript

13 years agomesa: get rid of _NEW_ACCUM, clean-up _NEW_* #defines
Brian Paul [Sun, 23 Jan 2011 16:48:49 +0000 (09:48 -0700)]
mesa: get rid of _NEW_ACCUM, clean-up _NEW_* #defines

The _NEW_ACCUM flag was only set when changing the accumulation
buffer clear color and never used anywhere.  Reclaim that dirty bit.
Clean up the definitions of the other dirty bit flags.

13 years agomesa: smarter glTexParameter state invalidation
Brian Paul [Sun, 23 Jan 2011 16:10:35 +0000 (09:10 -0700)]
mesa: smarter glTexParameter state invalidation

Only a few texture object parameters can effect texture completeness:
min level, max level, minification filter.  Don't mark the texture
incomplete for other texture object state changes.

13 years agor300g: support sRGB colorbuffers
Marek Olšák [Sun, 23 Jan 2011 11:53:17 +0000 (12:53 +0100)]
r300g: support sRGB colorbuffers

We are not required to do the linear->sRGB conversion if ARB_framebuffer_sRGB
is unsupported. However I think the conversion should work in hw except
for blending, which matches the D3D9 behavior.

13 years agor300/compiler: remove any code related to relative addressing of temporaries
Marek Olšák [Sun, 23 Jan 2011 11:03:59 +0000 (12:03 +0100)]
r300/compiler: remove any code related to relative addressing of temporaries

The hw can't do it and the code was useless anyway (it's lowered
in the GLSL compiler).

13 years agonvc0: fix emit_cvt for ceil, floor and trunc
Christoph Bumiller [Sun, 23 Jan 2011 12:09:10 +0000 (13:09 +0100)]
nvc0: fix emit_cvt for ceil, floor and trunc

13 years agonvc0: remove bad assert and emit TEMP movs instead
Christoph Bumiller [Sat, 22 Jan 2011 12:59:47 +0000 (13:59 +0100)]
nvc0: remove bad assert and emit TEMP movs instead

13 years agonvc0: fix address and value slot assignment in load combining
Christoph Bumiller [Sun, 23 Jan 2011 12:05:44 +0000 (13:05 +0100)]
nvc0: fix address and value slot assignment in load combining

13 years agonvc0: don't omit highest bit of branch target
Christoph Bumiller [Fri, 21 Jan 2011 17:40:41 +0000 (18:40 +0100)]
nvc0: don't omit highest bit of branch target

Fixes negative relative branch offsets.

13 years agonvc0: recognize r63 as zero in constant folding
Christoph Bumiller [Fri, 21 Jan 2011 16:04:25 +0000 (17:04 +0100)]
nvc0: recognize r63 as zero in constant folding

13 years agonvc0: add MARK_RING where missing to avoid too many relocs errors
Christoph Bumiller [Fri, 21 Jan 2011 15:52:17 +0000 (16:52 +0100)]
nvc0: add MARK_RING where missing to avoid too many relocs errors

13 years agonvc0: don't apply base vertex to per-instance arrays
Christoph Bumiller [Fri, 21 Jan 2011 15:46:36 +0000 (16:46 +0100)]
nvc0: don't apply base vertex to per-instance arrays

13 years agonvc0: commute sources of SET too if beneficial
Christoph Bumiller [Fri, 21 Jan 2011 15:27:31 +0000 (16:27 +0100)]
nvc0: commute sources of SET too if beneficial

13 years agonvc0: accept neg abs modifiers on lg2
Christoph Bumiller [Fri, 21 Jan 2011 15:23:44 +0000 (16:23 +0100)]
nvc0: accept neg abs modifiers on lg2

13 years agoglsl: Don't assert when the value returned by a function has no rvalue
Ian Romanick [Sun, 23 Jan 2011 01:47:05 +0000 (17:47 -0800)]
glsl: Don't assert when the value returned by a function has no rvalue

The rvalue of the returned value can be NULL if the shader says
'return foo();' and foo() is a function that returns void.

Existing GLSL specs do *NOT* say that this is an error.  The type of
the return value is void.  If the return type of the function is also
void, then this should compile without error.  I expect that future
versions of the GLSL spec will fix this (wink, wink, nudge, nudge).

Fixes piglit test glsl-1.10/compiler/expressions/return-01.vert and
bugzilla #33308.

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agost/mesa: ensure that all pixel paths operation on linear RGB data, not sRGB
Brian Paul [Sun, 23 Jan 2011 01:28:20 +0000 (18:28 -0700)]
st/mesa: ensure that all pixel paths operation on linear RGB data, not sRGB

Before, we were converting between linear/sRGB in glReadPixels,
glDrawPixels, glAccum, etc if the renderbuffer was an sRGB texture.
Those all need to operate on pixel values as-is without conversion.

Also, when setting up render-to-texture, if the texture is sRGB the
pipe_surface view must be linear RGB.  This will change when we
support GL_ARB_framebuffer_sRGB.

This fixes http://bugs.freedesktop.org/show_bug.cgi?id=33353

13 years agosoftpipe: pass surface format to get/put_tile functions
Brian Paul [Sun, 23 Jan 2011 00:18:53 +0000 (17:18 -0700)]
softpipe: pass surface format to get/put_tile functions

When we read/write image tiles we need to use the format specified
in the pipe_surface, not the pipe_transfer format (which comes from
the underlying texture/resource format).

This comes up when rendering to sRGB surfaces (via OpenGL render to
texture).  Ignoring the new GL_ARB/EXT_framebuffer_sRGB extension
for now, when we render to a sRGB surface we need to treat it like
a regular, linear colorspace RGB surface.  Before, when we read/wrote
tiles to sRGB surfaces we were inadvertantly doing the color space
conversion.

13 years agogallium/util: added pipe_put_tile_rgba_format()
Brian Paul [Sun, 23 Jan 2011 00:06:13 +0000 (17:06 -0700)]
gallium/util: added pipe_put_tile_rgba_format()

13 years agogallium/util: simplify pipe_get_tile_rgba()
Brian Paul [Sun, 23 Jan 2011 00:03:51 +0000 (17:03 -0700)]
gallium/util: simplify pipe_get_tile_rgba()

Implement it in terms of pipe_get_tile_rgba_format()

13 years agogallium/softpipe: replace pipe_get_tile_swizzle()
Brian Paul [Sat, 22 Jan 2011 23:59:22 +0000 (16:59 -0700)]
gallium/softpipe: replace pipe_get_tile_swizzle()

The new function, pipe_get_tile_rgba_format(), no longer takes a
swizzle (we weren't actually using it anywhere).  Rename it to
indicate that the format is passed explicitly.

13 years agosoftpipe: use proper type for format field
Brian Paul [Sat, 22 Jan 2011 23:53:16 +0000 (16:53 -0700)]
softpipe: use proper type for format field

13 years agogallium/util: added util_format_linear()
Brian Paul [Sat, 22 Jan 2011 01:30:46 +0000 (18:30 -0700)]
gallium/util: added util_format_linear()

13 years agost/mesa: update comment, use st_fb_orientation()
Brian Paul [Sat, 22 Jan 2011 00:35:08 +0000 (17:35 -0700)]
st/mesa: update comment, use st_fb_orientation()