Commit Graph

34636 Commits

Author SHA1 Message Date
Roland Scheidegger 0cd70b554c gallium: clear interface changes
clears were a bit limited in gallium:
- no scissoring (OGL only) nor explicit rectangle list (d3d9)
- no color/stencil masks (OGL only)
- no separate depth/stencil clears (d3d9/d3d10/OGL)
- cannot really clear single color buffer (only with resource_fill_region)

Additionally, d3d can clear surfaces not currently bound to the framebuffer.

It is, however, not easy to find some common ground what a clear should be able
to do, due to both API requirements and also hw differences (a case which might
be able to use a special clear path on one hw might need a "normal" quad render
on another).

Hence several clear methods are provided, and a driver should implement all of
them.
- clear: slightly modified to also be able to clear only depth or stencil in a
  combined depth/stencil surface. This is however optional based on driver
  capability though ideally it wouldn't be optional. AFAIK this is in fact
  something used by applications quite a bit.
  Otherwise, for now still doesn't allow clearing with scissors/mask (or single
  color buffers)
- clearRT: clears a single (potentially unbound) color surface. This was formerly
  roughly known as resource_fill_region. mesa st will not currently use this,
  though potentially would be useful for GL ClearBuffer.
- clearDS: similar to above except for depth stencil surfaces.

Note that clearDS/clearRT currently handle can handle partial clear. This might
change however.
2010-05-28 23:57:47 +02:00
Brian Paul d3f598a506 mesa: move all vertex array functions into varray.c 2010-05-25 21:42:13 -06:00
Brian Paul a830eef8c2 mesa: added _mesa_GetVertexAttribIiv / AttribIuiv()
Refactor the code for all the glGetVertexAttrib() functions.
2010-05-25 21:38:02 -06:00
Brian Paul e00d07cff6 mesa: added _mesa_VertexAttribIPointer() 2010-05-25 21:18:33 -06:00
Brian Paul e793a24d7c mesa: new GL 3.0 VertexAttrib commands
Still need to plug in API dispatch...
2010-05-25 21:18:33 -06:00
Brian Paul 962f926112 mesa: make a bunch of shader API functions static 2010-05-25 21:18:33 -06:00
Brian Paul a017c7ecb7 mesa: display list support for uint uniforms
Still need to plug into dispatcher...
2010-05-25 21:18:33 -06:00
Brian Paul 09c7d7bf2a mesa: consolidate some glUniform code 2010-05-25 21:18:32 -06:00
Brian Paul 07b0529e55 mesa: unsigned int uniform functions (GL3) 2010-05-25 21:18:32 -06:00
Brian Paul 91f841aefc mesa: support for unsigned int uniforms 2010-05-25 21:18:32 -06:00
Marek Olšák f0896e7f80 r300/compiler: implement SGT+SLE opcodes
Reported-by: Gianluca Anzolin <gianluca@sottospazio.it>
2010-05-26 04:47:55 +02:00
Marek Olšák 49bac3ccd8 r300/compiler: fix dumping r5xx vertex shaders 2010-05-26 04:47:27 +02:00
Marek Olšák 5c067a6304 r300/compiler: move hardware caps to the radeon_compiler base struct
Needed for vertex shaders too.
2010-05-26 04:47:26 +02:00
Marek Olšák f2582da3bb r300/compiler: shorten swizzle expressions 2010-05-26 04:47:26 +02:00
Dave Airlie 15496e06b7 rbug: add set sample mask passthrough.
This at least stops rbug segfaulting at startup.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-26 11:45:32 +10:00
Marek Olšák e6a8513a86 r300g: more efficient finish + fix comments 2010-05-26 01:41:32 +02:00
Marek Olšák 2c072c8f72 r300g: implement fake but compliant fences 2010-05-26 01:23:11 +02:00
Marek Olšák e1c117d87b r300g: add r300_init_render_functions, remove r300_render.h 2010-05-25 23:32:25 +02:00
Marek Olšák 73ee4e7eb2 r300g: remove r300_query.h 2010-05-25 23:32:25 +02:00
Marek Olšák d1dac36004 r300g: remove r300_flush.h 2010-05-25 23:32:25 +02:00
Marek Olšák 85eede1b2f r300g: add r300_init_blit_functions, remove r300_blit.h 2010-05-25 23:32:25 +02:00
Marek Olšák 4d70a25964 util: update comments at blitter 2010-05-25 23:32:25 +02:00
Marek Olšák 16d1fb30a9 util: fix indentation in blitter 2010-05-25 23:32:25 +02:00
Marek Olšák 876de34c91 r300g,util: remove pipe_surface from the util_blitter_copy interface and clean up 2010-05-25 23:32:25 +02:00
Marek Olšák 59e51d9640 r300g,util: remove pipe_surface from the util_blitter_fill interface and clean up 2010-05-25 23:32:25 +02:00
Marek Olšák 85c55f2cf4 util: remove unused util_blitter_copy_surface 2010-05-25 23:32:25 +02:00
Jakob Bornecrantz b9706886db drm_api: Remove type argument from create screen callback
With the removal of DRI1 support there where no use of this argument,
some drivers didn't even properly check it.
2010-05-25 19:05:07 +01:00
Jakob Bornecrantz 395b605e19 gallium: Remove dri1_api.h and winsys support for DRI1
Since DRI1 support was dropped from st/dri it
makes no sense to keep this code around.
2010-05-25 19:04:11 +01:00
Jakob Bornecrantz f501230db3 st/dri: Remove DRI1 support
Nobody used it and the current code had been trough so many
changes yet never once being tested.
2010-05-25 19:03:19 +01:00
José Fonseca 378796fe11 llvmpipe: Stop relying on PIPE_FLUSH_TEXTURE_CACHE/PIPE_FLUSH_RENDER_CACHE magic.
Flush means flush, i.e., all previous operations should be visible from
other contexts.

This does not imply unswizzling tiles, since unswizzling should be done on
a needed basis for any context.
2010-05-25 14:39:25 +01:00
José Fonseca ba404c8f2a gallivm: Choose an appropriate code generation optimization level.
'Default' unless GALLIVM_DEBUG=nopt option is set.
2010-05-25 11:48:00 +01:00
Brian Paul e5d0c730d1 sw/xlib: NULL-out pointers after freeing image data
This fixes a double-free() error when not using a shared memory XImage.
The XDestroyImage() function frees the ximage->data buffer if non-NULL.
If we free it ourselves, we also need to NULL-out the pointer.
2010-05-24 16:21:55 -06:00
Brian Paul 8cbc1517c1 st/glx: check if deleting head of buffer list 2010-05-24 16:21:55 -06:00
Brian Paul a949558430 meta: Convert Z value from normalized to object-space in meta code
Convert Z from a normalized value in the range [0, 1] to an
object-space Z coordinate in [-1, +1] so that drawing at the new Z
position with the default/identity ortho projection results in the
original Z value.  Used by the meta-Clear, Draw/CopyPixels and Bitmap
functions where the Z value comes from the clear value or raster
position.

Fixes piglit tests fdo23670-depth_test, quad-invariance and
glsl-orangebook-ch06-bump as well as oglc zbfunc.c.

https://bugs.freedesktop.org/show_bug.cgi?id=23670
2010-05-24 17:22:35 -04:00
Kristian Høgsberg e88cef3c9d mesa: Reenable check for GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT
The check was disabled when FEATURE_OES_framebuffer_object was enabled,
since that used to mean we weren't implementing regular OpenGL semantics.
Now that we can compile in support for multiple APIs, change the #ifdef to
compile the check in when FEATURE_GL is enabled and enable the check for
contexts that implement OpenGL at runtime.
2010-05-24 16:56:56 -04:00
Brian Paul c10154a298 glsl: silence unused var warnings 2010-05-24 11:43:55 -06:00
José Fonseca 6460ba5eeb llvmpipe: Also test compressed formats in lp_test_format() 2010-05-24 16:41:28 +01:00
José Fonseca f7b57245cc llvmpipe: Fix lp_test_format on 32bit OSes. 2010-05-24 16:38:09 +01:00
Jakob Bornecrantz 734522acee xorg-vmwgfx: Add vmwctrl proto 2010-04-30 11:47:27 +01:00
Kristian Høgsberg f67b020a94 mesa: Handle FEATURE_es2_glsl differences at runtime too
Now that we can support different APIs at runtime, we need to check the
context for the API we're currently providing as well.

https://bugs.freedesktop.org/show_bug.cgi?id=28194
2010-05-24 10:02:13 -04:00
José Fonseca 740c8ea6d3 llvmpipe: Delete extraneous arugment too. 2010-05-24 14:24:06 +01:00
José Fonseca 5a0b4627fc llvmpipe: Remove unused sincos_test_case struct. 2010-05-24 13:56:53 +01:00
Qicheng Christopher Li 80ee3a440c llvmpipe: Unit test for sin/cos that compares against reference implementation.
Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-05-24 13:45:26 +01:00
Qicheng Christopher Li 3c929e5544 gallivm: Efficient implementation of sin/cos.
Based on Julien Pommier's SSE and SSE2 algorithms.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
2010-05-24 13:45:21 +01:00
Eric Anholt 9b775c1e58 i965: Add support for all 8 possible ARB_draw_buffers in Mesa.
We should be able to do 16, but are limited by Mesa's static buffer
allocations.
2010-05-23 16:59:43 -07:00
Eric Anholt 08b42bc97d i965: Fix bit allocation for number of color regions for ARB_draw_buffers.
If you used all 4 color targets we currently support, we would see 0
and end up just writing the first output.  Give enough bits that we
can do the maximum of 16.

Fixes piglit fbo-drawbuffers-maxtargets.
2010-05-23 16:59:07 -07:00
Marek Olšák fa552261ea util/blitter: allow NULL clear color 2010-05-23 19:01:11 +02:00
Marek Olšák a650d7068a r300g: extend compile error message 2010-05-23 18:34:04 +02:00
Marek Olšák 7d602b3651 r300g: fix dummy vertex shader compilation 2010-05-23 17:13:31 +02:00
Marek Olšák 98630a900e r300g: fix warnings 2010-05-23 17:13:31 +02:00