Commit graph

42089 commits

Author SHA1 Message Date
Brian Paul
62c66b3430 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.
2011-01-24 19:38:52 -07:00
Brian Paul
976ea9d76b 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().
2011-01-24 19:38:52 -07:00
Brian Paul
f41bbc7c44 Revert "mesa: Simplify _mesa_base_fbo_format by making it exceptions to teximages."
This reverts commit 65c41d55a0.

There really are quite a few differences in the set of internal
formats allowed by glTexImage and glRenderbufferStorage.
2011-01-24 19:38:52 -07:00
Vinson Lee
e24f1ea594 scons: Add nvc0 to SConscript. 2011-01-24 17:48:24 -08:00
Brian Paul
99c67f27d3 vega: implement handler/pointer conversion using a hash table
Before, we were just casting between 32-bit VGHandles and 64-bit pointers.
2011-01-24 18:12:49 -07:00
Brian Paul
f3e6edc70b vega: remove redundant functions found elsewhere 2011-01-24 18:12:49 -07:00
Brian Paul
d41e694cf7 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...
2011-01-24 18:12:49 -07:00
Julien Cristau
4324d6fdfb 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>
2011-01-24 18:10:38 -07:00
Jakob Bornecrantz
c523f31f4a svga: Add more swrast debuging 2011-01-25 01:00:07 +01:00
Jakob Bornecrantz
daaf542220 svga: Use get once helpers for context debug envs 2011-01-25 00:58:46 +01:00
Jakob Bornecrantz
becb733dbc rbug: Fix surface reference leak 2011-01-25 00:58:46 +01:00
Jakob Bornecrantz
4fabdf72ea glsl: Fix mingw crosscompile 2011-01-25 00:58:46 +01:00
Henri Verbeet
1af59b28b5 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.
2011-01-25 00:35:34 +01:00
Zack Rusin
3d9138781d graw: add a test showing the new sampling scheme in action 2011-01-24 17:53:29 -05:00
Zack Rusin
bdbe77f9c6 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]
2011-01-24 17:47:10 -05:00
Benjamin Franzke
b066983780 st/mesa: Enable EXT_texture_format_BGRA8888 for gles1/2 2011-01-24 16:41:29 -05:00
Benjamin Franzke
c5c1dc8b3f st/mesa: support internalFormat=GL_BGRA in TexImage2D 2011-01-24 16:41:29 -05:00
Benjamin Franzke
8bfbcba2b7 mesa/es: require internalFormat==format in TexImage2D 2011-01-24 16:41:29 -05:00
Benjamin Franzke
f1452844fe mesa: allow internalFormat=GL_BGRA_EXT in TexImage2D 2011-01-24 16:41:29 -05:00
Dimitry Andric
811ee32a9e 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>
2011-01-24 14:37:52 -07:00
Dimitry Andric
3fda80246f 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>
2011-01-24 14:34:28 -07:00
Kenneth Graunke
e0c4a59dc6 glsl: Remove long unused 'configure.ac' file.
This was from way back when glsl2 lived in its own repository.
2011-01-24 10:33:38 -08:00
José Fonseca
92badb4c8c 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 * ).
2011-01-24 17:27:14 +00:00
Tim Wiederhake
d14764815c add machine generated files to .gitignore
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-24 09:17:57 -07:00
Tim Wiederhake
c48dd8049c secure malloc in translate_cache_create
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-24 09:17:54 -07:00
Christopher James Halse Rogers
7d6abd254a 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>
2011-01-24 07:53:24 -07:00
Michel Dänzer
be0665b461 st/xorg: Fix build failure against xserver with XF86_CRTC_VERSION < 3.
Reported by Vinson Lee.
2011-01-24 15:48:13 +01:00
Marek Olšák
db234176b1 r300g: remove unused function 2011-01-24 13:37:23 +01:00
Marek Olšák
09109c11d9 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.
2011-01-24 13:32:52 +01:00
Marek Olšák
d78a984baa r300g: handle PIPE_CAP_INSTANCED_DRAWING in get_param 2011-01-24 11:40:26 +01:00
Andre Maasikas
92767e9052 r600c: only colors can be flat shaded
fixes stellarium text and menu display
2011-01-24 10:23:19 +02:00
Jakob Bornecrantz
b7d2919e8e util: Add function logger helpers 2011-01-24 03:37:57 +01:00
Jakob Bornecrantz
a82408c353 Revert "r300g/swtcl: re-enable LLVM"
This reverts commit 88550083b3.
2011-01-24 03:26:59 +01:00
Jakob Bornecrantz
4c73030d47 draw: Init llvm if not provided 2011-01-24 03:26:59 +01:00
Jakob Bornecrantz
832029e1c1 i915g: Remove draw_flushes and state that we don't need to track 2011-01-24 03:26:59 +01:00
Jakob Bornecrantz
9a9630dcf0 i915g: Improve constant handling 2011-01-24 03:26:59 +01:00
Tom Stellard
c40ec20c27 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.
2011-01-23 17:47:48 -08:00
Brian Paul
1bf3c75825 gldirect: remove _NEW_ACCUM 2011-01-23 14:06:21 -07:00
Brian Paul
c78b48d808 i965: remove _NEW_ACCUM 2011-01-23 14:06:21 -07:00
Christoph Bumiller
a287a758c6 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.
2011-01-23 21:35:27 +01:00
Marek Olšák
f154cd2315 mesa: add ARB_framebuffer_sRGB as alias of the EXT variant
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-23 20:59:46 +01:00
Marek Olšák
81ae8c6313 mesa: return GL_LINEAR for ..COLOR_ENCODING if framebuffer_sRGB is unsupported
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-23 20:59:46 +01:00
Brian Paul
2dac3f995b vega: sort filenames in Makefile, SConscript 2011-01-23 10:15:07 -07:00
Brian Paul
fb7efb1b19 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.
2011-01-23 09:50:52 -07:00
Brian Paul
f4dc24a0b5 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.
2011-01-23 09:50:52 -07:00
Marek Olšák
91eba2567e 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.
2011-01-23 13:32:56 +01:00
Marek Olšák
ffcdd49c69 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).
2011-01-23 13:32:56 +01:00
Christoph Bumiller
835c4ea105 nvc0: fix emit_cvt for ceil, floor and trunc 2011-01-23 13:09:10 +01:00
Christoph Bumiller
95eef7a705 nvc0: remove bad assert and emit TEMP movs instead 2011-01-23 13:07:30 +01:00
Christoph Bumiller
f9bb1c8b33 nvc0: fix address and value slot assignment in load combining 2011-01-23 13:05:44 +01:00