Brian Paul [Sat, 29 Jan 2011 03:25:27 +0000 (20:25 -0700)]
st/mesa: fix texture array dimensions
For 1D/2D texture arrays use the pipe_resource::array_size field.
In OpenGL 1D arrays texture use the height dimension as the array
size and 2D array textures use the depth dimension as the array size.
Gallium uses a special array_size field instead. When setting up
gallium textures or comparing Mesa textures to gallium textures we
need to be extra careful that we're comparing the right fields.
The new st_gl_texture_dims_to_pipe_dims() function maps OpenGL
texture dimensions to gallium texture dimensions and simplifies
this quite a bit.
Brian Paul [Sat, 29 Jan 2011 03:25:27 +0000 (20:25 -0700)]
softpipe: fix array textures to use resource array_size
Don't use height for 1D array textures or depth for 2D array textures.
Brian Paul [Sat, 29 Jan 2011 03:25:26 +0000 (20:25 -0700)]
mesa: fix typo, wrap long line
Brian Paul [Sat, 29 Jan 2011 03:25:26 +0000 (20:25 -0700)]
st/mesa: pass layers param to st_texture_create()
Carl Worth [Fri, 28 Jan 2011 22:19:39 +0000 (08:19 +1000)]
Revert "glcpp: Demote "macro redefined" from an error to a warning"
This reverts commit
d3df641f0aba99b0b65ecd4d9b06798bca090a29.
The original commit had sat unpushed on my machine for months. By the
time I found it again, I had forgotten that we had decided not to use
this change after all, (the relevant test was removed long ago).
Jakob Bornecrantz [Thu, 27 Jan 2011 13:58:30 +0000 (14:58 +0100)]
util: Fix leak of transfers in upload manager
Brian Paul [Fri, 28 Jan 2011 20:30:15 +0000 (13:30 -0700)]
docs: removed VC8 project files
Brian Paul [Fri, 28 Jan 2011 20:29:50 +0000 (13:29 -0700)]
mesa: omit VC8 project files from tarball
Thierry Vignaud [Fri, 28 Jan 2011 20:31:04 +0000 (12:31 -0800)]
Fix missing files in Mesa tarballs.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Chad Versace [Fri, 28 Jan 2011 19:16:31 +0000 (11:16 -0800)]
mesa: Fix available APIs for AMD_conservative_depth
Remove ES2, since AMD_conservative_depth is not listed in the OpenGL ES
extension registry.
Marek Olšák [Fri, 28 Jan 2011 18:33:59 +0000 (19:33 +0100)]
r300/compiler: print stats based on the initial number of instructions
The same number of shaders is now printed regardless of optimizations being
enabled or not, so that we can compare shader stats side by side easily.
Marek Olšák [Fri, 28 Jan 2011 16:15:22 +0000 (17:15 +0100)]
r300g: fix resource_copy_region for DXT SRGB formats
Carl Worth [Mon, 23 Aug 2010 18:38:45 +0000 (11:38 -0700)]
glcpp: Demote "macro redefined" from an error to a warning
The GLSL specification is vague here, (just says "as is standard for
C++"), though the C specifications seem quite clear that this should
be an error.
However, an existing piglit test (CorrectPreprocess11.frag) expects
this to be a warning, not an error, so we change this, and document in
README the deviation from the specification.
Dave Airlie [Fri, 28 Jan 2011 01:44:51 +0000 (11:44 +1000)]
dri: add a placeholder for the framebuffer sRGB capable bit.
This is needed to build the X server GLX_EXT_framebuffer_sRGB bits.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dimitry Andric [Fri, 28 Jan 2011 01:03:42 +0000 (18:03 -0700)]
glapi: add @GOTPCREL relocation type
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33440
This replaces commit
731ec60da3ccb92f5bfb4d6f1bc3c8e712751376
NOTE: This is a candidate for the 7.9 and 7.10 branches
Signed-off-by: Brian Paul <brianp@vmware.com>
Marek Olšák [Fri, 28 Jan 2011 00:58:30 +0000 (01:58 +0100)]
r600g: handle PIPE_CAP_ARRAY_TEXTURES
Marek Olšák [Fri, 28 Jan 2011 00:56:57 +0000 (01:56 +0100)]
r300g: handle PIPE_CAP_ARRAY_TEXTURES
Marek Olšák [Fri, 28 Jan 2011 00:15:17 +0000 (01:15 +0100)]
r300g: 8x8-compressed zbuffer can only be point-sampled
Marek Olšák [Fri, 28 Jan 2011 00:01:01 +0000 (01:01 +0100)]
r300g: fix and re-enable 8x8 zbuffer compression mode
Also cleanup the whole thing.
Marek Olšák [Thu, 27 Jan 2011 22:14:17 +0000 (23:14 +0100)]
r300g: print driver info if RADEON_DEBUG=info
Marek Olšák [Thu, 27 Jan 2011 22:13:28 +0000 (23:13 +0100)]
r300g: add winsys flag CAN_AACOMPRESS
Marek Olšák [Thu, 27 Jan 2011 22:06:15 +0000 (23:06 +0100)]
r300g: rename flag squaretiling -> drm_2_1_0
Marek Olšák [Thu, 27 Jan 2011 20:17:25 +0000 (21:17 +0100)]
docs: update GL3 status
Marek Olšák [Wed, 26 Jan 2011 10:46:39 +0000 (11:46 +0100)]
util: fix parsing debug options
So that 'foo' can be found in: OPTION=prefixfoosuffix,foo
Also allow that debug options can be separated by a non-alphanumeric characters
instead of just commas.
Marek Olšák [Tue, 25 Jan 2011 04:37:52 +0000 (05:37 +0100)]
r300g: fix some bugs with zbuffer compression (v4)
This drops the memblock manager for ZMASK. Instead, only one zbuffer can be
compressed at a time. Note that this does not necessarily have to be slower.
When there is a large number of zbuffers, compression might be used more often
than it was before. It's also easier to debug.
How it works:
1) 'clear' turns the compression on.
2) If some other zbuffer is set or the currently-bound zbuffer is used
for texturing, the driver decompresses it and then turns the compression off.
Notes:
- The ZMASK clear has been refactored, so that only one packet3 is used to clear
ZMASK.
- The 8x8 compression mode is disabled. I couldn't make it work without issues.
- Also removed driver-specific stuff from u_blitter.
Driver status:
- RV530 and R580 appear to just work (finally).
- RV570 should work, but there may be an issue that we don't correctly
calculate the number of dwords to clear, resulting in a partially
uninitialized zbuffer.
- RS690 misrenders as if no ZMASK clear happened. No idea what's going on.
- RV350 may even hardlock. This issue was already present and this patch doesn't
fix it.
I think we are still missing some hardware info we need to make the zbuffer
compression work fully.
Note that there is also an issue with HiZ, resulting in a sort of blocky
zigzagged corruption around some objects.
Brian Paul [Thu, 27 Jan 2011 04:16:41 +0000 (21:16 -0700)]
glsl: use 'this' pointer to be consistent
Brian Paul [Thu, 27 Jan 2011 04:16:32 +0000 (21:16 -0700)]
glsl: remove needless conditional
Brian Paul [Thu, 27 Jan 2011 04:16:14 +0000 (21:16 -0700)]
glsl: move ir_var_out code
Brian Paul [Thu, 27 Jan 2011 04:15:52 +0000 (21:15 -0700)]
glsl: move ir_var_system_value code
Brian Paul [Thu, 27 Jan 2011 04:15:39 +0000 (21:15 -0700)]
glsl: use local var to simplify code a bit
Zack Rusin [Thu, 27 Jan 2011 02:20:53 +0000 (21:20 -0500)]
mesa: fix compilation
this isn't c++ please don't mix declerations with code
Chad Versace [Thu, 27 Jan 2011 09:40:55 +0000 (01:40 -0800)]
glsl: Refresh autogenerated lexer file
For previous commit.
Chad Versace [Thu, 27 Jan 2011 09:40:51 +0000 (01:40 -0800)]
glsl: Remove extraneously extraneous parens
I found this parenthetical usage of parentheses to be extraneously
extraneous:
(yyextra->ARB_fragment_coord_conventions_enable)
Chad Versace [Thu, 27 Jan 2011 09:40:47 +0000 (01:40 -0800)]
mesa: Allow extensions in MESA_EXTENSION_OVERRIDE to be prefixed with '+'
If an extension is prefixed with '+', attempt to enable it. This
introduces symmetry with the prefix '-', which is already allowed.
Chad Versace [Thu, 27 Jan 2011 09:40:43 +0000 (01:40 -0800)]
mesa: Simplify logic in get_extension_override()
* Reduce max indentation level from 7 to 3.
* Eliminate counter variables.
* Remove function append().
Chad Versace [Thu, 27 Jan 2011 09:40:39 +0000 (01:40 -0800)]
glsl: Enable AMD_conservative_depth in parser
All the necessary compiler infrastructure for AMD_conservative_depth is in
place, so it's safe to enable it in the parser.
Chad Versace [Thu, 27 Jan 2011 09:40:35 +0000 (01:40 -0800)]
mesa: Propagate gl_FragDepth layout from GLSL IR to Mesa IR
Chad Versace [Thu, 27 Jan 2011 09:40:31 +0000 (01:40 -0800)]
glsl: Raise linking error if gl_FragDepth layout is inconsistent
From the AMD_conservative_depth spec:
If gl_FragDepth is redeclared in any fragment shader in a program, it
must be redeclared in all fragment shaders in that program that have
static assignments to gl_FragDepth. All redeclarations of gl_FragDepth in
all fragment shaders in a single program must have the same set of
qualifiers.
Chad Versace [Thu, 27 Jan 2011 09:40:26 +0000 (01:40 -0800)]
glsl: Propagate depth layout qualifier from AST to IR
Chad Versace [Thu, 27 Jan 2011 09:40:22 +0000 (01:40 -0800)]
glsl: Define enum ir_depth_layout
Chad Versace [Thu, 27 Jan 2011 09:40:18 +0000 (01:40 -0800)]
glsl: Refresh autogenerated parser files
For commits titled:
glcpp: Conditionally define macro GL_AMD_conservative_depth
glsl: Add support for AMD_conservative_depth to parser
Chad Versace [Thu, 27 Jan 2011 09:40:14 +0000 (01:40 -0800)]
glsl: Add support for AMD_conservative_depth to parser
When AMD_conservative_depth is enabled:
* Let 'layout' be a token.
* Extend the production rule of layout_qualifier_id to process the tokens:
depth_any
depth_greater
depth_less
depth_unchanged
Chad Versace [Thu, 27 Jan 2011 09:40:10 +0000 (01:40 -0800)]
glsl: Add depth layout qualifiers to ast_type_qualifier
Chad Versace [Thu, 27 Jan 2011 09:40:06 +0000 (01:40 -0800)]
glcpp: Conditionally define macro GL_AMD_conservative_depth
Define macro GL_AMD_conservative_depth to 1 when its extension is
enabled.
Chad Versace [Thu, 27 Jan 2011 09:40:02 +0000 (01:40 -0800)]
mesa: Add AMD_conservative_depth to extension list
The extension is off by default.
First in a patchset that implements support for AMD_conservative_depth in
the compiler.
Brian Paul [Wed, 26 Jan 2011 23:22:30 +0000 (16:22 -0700)]
tgsi: add cases for array textures
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33555
Kristian Høgsberg [Wed, 26 Jan 2011 20:05:46 +0000 (15:05 -0500)]
mesa: Support internalFormat=GL_BGRA for DRI drivers
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.
Brian Paul [Wed, 26 Jan 2011 15:01:15 +0000 (08:01 -0700)]
mesa: fix MESA/EXT typo
Spotted by Bernd Buschinski.
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)
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.
Brian Paul [Wed, 26 Jan 2011 03:27:10 +0000 (20:27 -0700)]
softpipe: 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
Brian Paul [Wed, 26 Jan 2011 03:25:50 +0000 (20:25 -0700)]
tgsi: add support for 1D/2D texture arrays
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>
Brian Paul [Wed, 26 Jan 2011 01:45:44 +0000 (18:45 -0700)]
mesa: remove isProxy local var
Brian Paul [Wed, 26 Jan 2011 01:44:11 +0000 (18:44 -0700)]
mesa: use texFormat local var in more places
Brian Paul [Wed, 26 Jan 2011 01:42:53 +0000 (18:42 -0700)]
mesa: consolidate error handling code in _mesa_GetTexLevelParameteriv()
Brian Paul [Wed, 26 Jan 2011 01:27:44 +0000 (18:27 -0700)]
mesa: consolidate error handling in set_tex_parameteri()
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.
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.
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.
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.
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.
Mathias Fröhlich [Sun, 23 Jan 2011 21:35:13 +0000 (22:35 +0100)]
r600g: Implement timer queries.
Mathias Fröhlich [Sun, 23 Jan 2011 21:16:56 +0000 (22:16 +0100)]
r600g: Implement asyncronous query results.
Mathias Fröhlich [Sun, 23 Jan 2011 21:10:10 +0000 (22:10 +0100)]
r600g: Fix meaning of num_results for queries.
Tim Wiederhake [Mon, 24 Jan 2011 15:59:16 +0000 (16:59 +0100)]
fix potential leak in r600_context_init
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)
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.
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.
Brian Paul [Tue, 25 Jan 2011 18:57:10 +0000 (11:57 -0700)]
st/mesa: add comments in emit_wpos()
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.
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>
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>
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
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.
Marek Olšák [Tue, 25 Jan 2011 04:30:49 +0000 (05:30 +0100)]
u_blitter: report recursion, update comments
Vinson Lee [Tue, 25 Jan 2011 04:04:31 +0000 (20:04 -0800)]
nvc0: Move declaration before code.
Fixes nvc0 SCons build.
Zack Rusin [Tue, 25 Jan 2011 02:45:37 +0000 (21:45 -0500)]
gallium/tgsi: update the docs for the new opcodes a bit
Brian Paul [Tue, 25 Jan 2011 02:38:52 +0000 (19:38 -0700)]
mesa: add red, red/green formats in _mesa_base_fbo_format()
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.
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().
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.
Vinson Lee [Tue, 25 Jan 2011 01:48:24 +0000 (17:48 -0800)]
scons: Add nvc0 to SConscript.
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.
Brian Paul [Sun, 23 Jan 2011 18:47:03 +0000 (11:47 -0700)]
vega: remove redundant functions found elsewhere
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...
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>
Jakob Bornecrantz [Wed, 29 Dec 2010 11:50:59 +0000 (12:50 +0100)]
svga: Add more swrast debuging
Jakob Bornecrantz [Wed, 29 Dec 2010 08:59:28 +0000 (09:59 +0100)]
svga: Use get once helpers for context debug envs
Jakob Bornecrantz [Thu, 16 Dec 2010 04:33:46 +0000 (05:33 +0100)]
rbug: Fix surface reference leak
Jakob Bornecrantz [Mon, 24 Jan 2011 22:26:03 +0000 (23:26 +0100)]
glsl: Fix mingw crosscompile
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.
Zack Rusin [Mon, 24 Jan 2011 22:53:29 +0000 (17:53 -0500)]
graw: add a test showing the new sampling scheme in action
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]
Benjamin Franzke [Fri, 21 Jan 2011 13:29:32 +0000 (14:29 +0100)]
st/mesa: Enable EXT_texture_format_BGRA8888 for gles1/2
Benjamin Franzke [Fri, 21 Jan 2011 13:29:06 +0000 (14:29 +0100)]
st/mesa: support internalFormat=GL_BGRA in TexImage2D
Benjamin Franzke [Fri, 21 Jan 2011 13:26:09 +0000 (14:26 +0100)]
mesa/es: require internalFormat==format in TexImage2D
Benjamin Franzke [Fri, 21 Jan 2011 13:24:11 +0000 (14:24 +0100)]
mesa: allow internalFormat=GL_BGRA_EXT in TexImage2D