Commit Graph

36781 Commits

Author SHA1 Message Date
Dimitry Andric cfb9aae3ec glapi: add @GOTPCREL relocation type
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33440
This replaces commit 731ec60da3

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

Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-27 18:04:57 -07:00
Marek Olšák 6dc0a0e71f r600g: handle PIPE_CAP_ARRAY_TEXTURES 2011-01-28 01:58:30 +01:00
Marek Olšák 588c925224 r300g: handle PIPE_CAP_ARRAY_TEXTURES 2011-01-28 01:56:57 +01:00
Marek Olšák baf2a795eb r300g: 8x8-compressed zbuffer can only be point-sampled 2011-01-28 01:16:27 +01:00
Marek Olšák 2050f2ab96 r300g: fix and re-enable 8x8 zbuffer compression mode
Also cleanup the whole thing.
2011-01-28 01:04:51 +01:00
Marek Olšák 82e60236a9 r300g: print driver info if RADEON_DEBUG=info 2011-01-27 23:17:41 +01:00
Marek Olšák 39f16e2aa7 r300g: add winsys flag CAN_AACOMPRESS 2011-01-27 23:13:28 +01:00
Marek Olšák 2e3ccada07 r300g: rename flag squaretiling -> drm_2_1_0 2011-01-27 23:06:15 +01:00
Marek Olšák 387fe8dd47 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.
2011-01-27 20:32:03 +01:00
Marek Olšák db299a9f82 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.
2011-01-27 18:12:01 +01:00
Brian Paul 7a4345fd83 glsl: use 'this' pointer to be consistent 2011-01-26 21:16:41 -07:00
Brian Paul 2b7be12d54 glsl: remove needless conditional 2011-01-26 21:16:32 -07:00
Brian Paul 86471246f0 glsl: move ir_var_out code 2011-01-26 21:16:14 -07:00
Brian Paul 7baa498ae4 glsl: move ir_var_system_value code 2011-01-26 21:15:52 -07:00
Brian Paul 304b239869 glsl: use local var to simplify code a bit 2011-01-26 21:15:39 -07:00
Zack Rusin 59dbdbbb7d mesa: fix compilation
this isn't c++ please don't mix declerations with code
2011-01-26 21:20:53 -05:00
Chad Versace 67c67ee80f glsl: Refresh autogenerated lexer file
For previous commit.
2011-01-26 16:37:45 -08:00
Chad Versace cc4a787044 glsl: Remove extraneously extraneous parens
I found this parenthetical usage of parentheses to be extraneously
extraneous:
   (yyextra->ARB_fragment_coord_conventions_enable)
2011-01-26 16:37:45 -08:00
Chad Versace ad3dc370d8 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.
2011-01-26 16:37:45 -08:00
Chad Versace 7cbcf4c583 mesa: Simplify logic in get_extension_override()
* Reduce max indentation level from 7 to 3.
* Eliminate counter variables.
* Remove function append().
2011-01-26 16:37:45 -08:00
Chad Versace 8ba260e099 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.
2011-01-26 16:37:45 -08:00
Chad Versace a1b83464ff mesa: Propagate gl_FragDepth layout from GLSL IR to Mesa IR 2011-01-26 16:37:45 -08:00
Chad Versace addae33d6b 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.
2011-01-26 16:37:45 -08:00
Chad Versace bc04d244f5 glsl: Propagate depth layout qualifier from AST to IR 2011-01-26 16:37:44 -08:00
Chad Versace 5fc57f471b glsl: Define enum ir_depth_layout 2011-01-26 16:37:44 -08:00
Chad Versace 39cad66a88 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
2011-01-26 16:37:44 -08:00
Chad Versace fb5db0570c 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
2011-01-26 16:37:44 -08:00
Chad Versace 565a22090c glsl: Add depth layout qualifiers to ast_type_qualifier 2011-01-26 16:37:44 -08:00
Chad Versace 0423f24eb8 glcpp: Conditionally define macro GL_AMD_conservative_depth
Define macro GL_AMD_conservative_depth to 1 when its extension is
enabled.
2011-01-26 16:37:44 -08:00
Chad Versace 1aeecaa433 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.
2011-01-26 16:37:44 -08:00
Brian Paul 8697dbdfbc tgsi: add cases for array textures
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33555
2011-01-26 16:22:32 -07:00
Kristian Høgsberg 3fe0185ba5 mesa: Support internalFormat=GL_BGRA for DRI drivers 2011-01-26 15:05:46 -05:00
Kristian Høgsberg e28ecdee03 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.
2011-01-26 10:47:03 -05:00
Brian Paul 684c66bb8b mesa: fix MESA/EXT typo
Spotted by Bernd Buschinski.
2011-01-26 08:01:31 -07:00
Marek Olšák c7c733545a 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)
2011-01-26 10:48:21 +01:00
Zack Rusin 0657fc00dd gallium: add an interface for query predicates
as specified in the arb_occlusion_query2. just the interface.
2011-01-26 00:03:12 -05:00
Brian Paul 779e9cb658 softpipe: support for 1D/2D texture arrays 2011-01-25 20:27:10 -07:00
Brian Paul 9b56a2cb62 st/mesa: support for 1D/2D texture arrays 2011-01-25 20:26:22 -07:00
Brian Paul c0d941877b tgsi: add support for 1D/2D texture arrays 2011-01-25 20:25:53 -07:00
Brian Paul 0bfd174fb5 mesa: remove isProxy local var 2011-01-25 18:53:00 -07:00
Brian Paul 365f658602 mesa: use texFormat local var in more places 2011-01-25 18:53:00 -07:00
Brian Paul f322400970 mesa: consolidate error handling code in _mesa_GetTexLevelParameteriv() 2011-01-25 18:53:00 -07:00
Brian Paul 0f6b8e29ab mesa: consolidate error handling in set_tex_parameteri() 2011-01-25 18:53:00 -07:00
Brian Paul f2dd11817a mesa: add checks for GL_EXT_texture_array
In case the driver enables GL_MESA_texture_array but not the EXT version.
2011-01-25 18:53:00 -07:00
Ian Romanick 0f4b2a0a23 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.
2011-01-25 13:41:26 -08:00
Ian Romanick c87e9ef4d2 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.
2011-01-25 13:41:26 -08:00
Ian Romanick 5c2cec8337 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.
2011-01-25 13:41:26 -08:00
Brian Paul 9f2bf3d65c glsl: silence uninitialized var warning in read_texture()
And generate an error if the texture pattern is not matched.
2011-01-25 13:11:47 -07:00
Mathias Fröhlich 90c2fd8640 r600g: Implement timer queries. 2011-01-25 14:18:19 -05:00
Mathias Fröhlich e7ec532735 r600g: Implement asyncronous query results. 2011-01-25 14:18:19 -05:00