Commit graph

35602 commits

Author SHA1 Message Date
Brian Paul
b0636f78aa gallivm: added lp_build_const_int32() helper 2010-07-20 18:50:35 -06:00
Vinson Lee
c4889fa5f0 radeon: Remove unnecessary header. 2010-07-20 14:18:42 -07:00
Jerome Glisse
62f8b56dc6 r600g: split trans unit computation
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-20 15:07:32 -04:00
Marek Olšák
5ed6627ceb st/mesa: implement and advertise GL_ARB_draw_elements_base_vertex
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-07-20 11:53:43 -06:00
Brian Paul
691c1fb074 draw: correctly handle max_index=0xffffffff case in vcache code
If max_index=0xffffffff and elt_bias > 0 the test for
elt_bias + max_index >= DRAW_PIPE_MAX_VERTICES
was wrong.  Check earlier if max_index=0xffffffff and do the
"fail" case.

This fixes the piglit draw-elements-base-vertex test (and probably
some other things).
2010-07-20 11:53:43 -06:00
Marek Olšák
e794fac35a st/mesa: implement depth texture modes 2010-07-20 18:09:12 +02:00
Brian Paul
bab484a59b mesa: call ctx->Driver.ChooseTextureFormat() only when necessary.
When defining mipmap level 'L' and level L-1 exists and the new level's
internalFormat matches level L-1's internalFormat, then use the same hw
format.  Otherwise, do the regular ctx->Driver.ChooseTextureFormat() call.

This avoids a problem where we end up choosing different hw formats for
different mipmap levels depending on how the levels are defined (glTexImage
vs. glCopyTexImage vs. glGenerateMipmap, etc).

The root problem is the ChooseTextureFormat() implementation in some
drivers uses the user's glTexImage format/type parameters in the choosing
heuristic.  Later mipmap levels might be generated with different calls
(ex: glCopyTexImage()) so we don't always have format/type info and the
driver may choose a different format.

For more background info see the July 2010 mesa-dev thread "Bug in
_mesa_meta_GenerateMipmap"
2010-07-20 08:50:32 -06:00
Brian Paul
895086467e graw/tests: pass -e option to test draw_elements_instanced() 2010-07-20 08:50:32 -06:00
Michal Krol
3b2ca688a7 softpipe: Support non-depth-stencil formats in sp_tile_cache_flush_clear(). 2010-07-20 15:01:25 +02:00
Kristian Høgsberg
c1cbdbfde0 glx: #ifdef DRI specific prototype
https://bugs.freedesktop.org/show_bug.cgi?id=29162
2010-07-20 07:43:50 -04:00
Michel Dänzer
bd3d2724f5 glx/dri2: Fix dri2CopySubBuffer() again.
Only refresh the fake front buffer if there is one, and only destroy the region
once.

Fixes X11 protocol errors reported by 'mcgreg' on IRC.
2010-07-20 12:21:17 +02:00
Marek Olšák
bdde9d2fce util: mempool: initialize last block's magic number in a page 2010-07-20 10:23:54 +02:00
Chia-I Wu
87290a383b st/egl: Fixes for recent GLX cleanup.
Mainly, the type of __GLXdisplayPrivateRec::screenConfigs has changed
from "__GLXscreenConfigs *" to "__GLXscreenConfigs **".
2010-07-20 12:39:23 +08:00
Chia-I Wu
c7ad2a4e79 st/dri: Remove driFrameTrackingExtension.
The extension has been removed in
22266c391f.
2010-07-20 12:37:13 +08:00
Kristian Høgsberg
a7292f2920 glx: Move DRI CopySubBuffer extension to DRI1 code
We do this in the X server for DRI2.
2010-07-19 22:45:51 -04:00
Kristian Høgsberg
bab13969d8 glx: Move driver_configs to DRI screen privates 2010-07-19 22:45:51 -04:00
Kristian Høgsberg
e3e8196c02 glx: Move drawHash to display private
The XIDs are display wide so the natural location of the hash is here.
This way we don't have to lookup in each of the screen hashes.
2010-07-19 22:45:51 -04:00
Kristian Høgsberg
037755122e glx: Don't use __glXInitialize() when we might be holding __glXLock() 2010-07-19 22:45:51 -04:00
Kristian Høgsberg
8d0228912b glx: Workaround mismatch in signedness between extensions and protocol
The DRI2 protocol for ust, msc and sbc are unsigned but the extensions
talk about int64_t.  Do a little dance to make the compiler shut up.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
271c3c3a90 glx: Move __DRIdrawable pointers to DRI drawable privates 2010-07-19 22:45:50 -04:00
Kristian Høgsberg
22266c391f glx: Remove support for MESA_swap_frame_usage
The extension never worked, the implementation returns GLX_BAD_CONTEXT
when enabling the frame tracking.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
70887d5172 glx: Move __driScreen into the dri screen privates 2010-07-19 22:45:50 -04:00
Kristian Høgsberg
089fc37c6f glx: Move DRI1 specific extensions and code to DRI1 screen private 2010-07-19 22:45:50 -04:00
Kristian Høgsberg
9e546ecfd4 glx: Move DRI2 extensions to DRI2 screen private 2010-07-19 22:45:50 -04:00
Kristian Høgsberg
cb2a66fd0c glx: Drop support for GLX_MESA_allocate_memory
Only r200 implemented it.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
f972115d33 glx: Add screen privates for dri drivers and moved some fields there
GLXscreenConfigs is badly named and a dumping ground for a lot of stuff.
This patch creates private screen structs for the dri drivers and moves
some of their fields over there.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
a296d96de4 glx: Rename various DRI structs away from obnoxious __GLXfooRec convention
Enough is enough.
2010-07-19 22:45:50 -04:00
Kristian Høgsberg
308e13ecd1 glx: Factor out common code from dri2WaitGL() and dri2WaitX() 2010-07-19 22:45:50 -04:00
Kristian Høgsberg
b006d465ea glx: Dont use dri2WaitX() to update fake front
This saves a superfluous flush and a create/destryo region.
2010-07-19 22:45:50 -04:00
Eric Anholt
f9d11b8cee i965: Mostly fix glsl-max-varyings.
There was confusion on both the size of message we can send, and on
what the URB destination offset means.

The remaining problems appear to be due to spilling of regs in the
fragment shader being broken.
2010-07-19 19:29:48 -07:00
Eric Anholt
e179fa9a0a i965: Clean up message register setup in emit_vertex_write(). 2010-07-19 19:29:03 -07:00
Eric Anholt
09788ce10e i965: Reduce repeated calculation of the attribute-offset-in-VUE.
This cleans up some chipset dependency sprinkled around, and fixes a
potential overflow of the attribute offset array for many vertex
results.
2010-07-19 19:29:03 -07:00
Eric Anholt
e29cff6273 i965: Clarify the nr_regs calculation in brw_clip.c 2010-07-19 19:29:03 -07:00
Eric Anholt
bdcaaed6ff i965: Don't set up VUE space for the disabled user clip distances on gen6. 2010-07-19 19:29:03 -07:00
Brian Paul
37692e5dc9 draw: fix incorrect instancing divisor in LLVM code 2010-07-19 18:29:12 -06:00
Brian Paul
374c74f4c4 mesa: remove restart.c from build 2010-07-19 15:29:03 -06:00
Marek Olšák
3b189d888a r300g: fix possible crash in destroy_context
The problem is destroy_context is almost NEVER called.
The only test for destroy_context I know is compiz.

Reported by Vinson Lee.

FDO bug #29150.
2010-07-19 21:12:52 +02:00
Marek Olšák
fd03dd203f util: remove the dummy field in mempool
It should allocate less memory now.
2010-07-19 21:05:47 +02:00
Vinson Lee
95ca22001a scons: Fix Mac OS X SCons build on 32-bit CPUs.
The Mac OS X SCons build failed on 32-bit CPUs starting with commit
2f6d47a7c8 during linking of graw-null.
The build succeeds though on a 64-bit CPU. See FDO bug 29117.

This was the compiler error.
scons: building associated VariantDir targets: build/darwin-x86-debug
  Linking build/darwin-x86-debug/gallium/targets/graw-null/libgraw.dylib ...
Undefined symbols:
  "_lp_swizzled_cbuf", referenced from:
      _lp_swizzled_cbuf$non_lazy_ptr in libllvmpipe.a(lp_rast.os)
      _lp_swizzled_cbuf$non_lazy_ptr in libllvmpipe.a(lp_rast_tri.os)
     (maybe you meant: _lp_swizzled_cbuf$non_lazy_ptr)
  "_lp_dummy_tile", referenced from:
      _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_rast.os)
      _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_rast_tri.os)
      _lp_dummy_tile$non_lazy_ptr in libllvmpipe.a(lp_setup.os)
     (maybe you meant: _lp_dummy_tile$non_lazy_ptr)

The patch adds -fno-common to all Mac OS X builds to work around this issue.
2010-07-19 11:31:44 -07:00
Brian Paul
369e9272de util: add dummy field to empty structure types
Empty structure types aren't allowed with MSVC.
I haven't tested this change.  Hope I haven't broken it...
2010-07-19 10:50:11 -06:00
Marek Olšák
d1671ceb71 r300g: fix typo 2010-07-19 17:33:40 +02:00
Marek Olšák
7b31b235d0 r300g: use memory pools for buffer_create and get_transfer
The improvement in Tremulous: 68.9 fps -> 71.1 fps.
2010-07-19 17:12:11 +02:00
Marek Olšák
ad44b775e3 util: add a memory pool for equally sized memory allocations
malloc/free are in O(1).
2010-07-19 17:12:11 +02:00
Marek Olšák
4fd39a8d69 st/mesa: fix FRAMEBUFFER_UNSUPPORTED with the D24S8 format
Fixes FDO bug #29116.

NOTE: this is a candidate for the 7.8 branch
2010-07-19 17:11:23 +02:00
Kristian Høgsberg
3750ebd540 glx: Fix drawable lookup in DRI2 event handler
DRI2 events are sent to the X drawable ID used to create the DRI2 drawable,
not the GLX drawable ID.  So when an event comes in, we need to look up
the __GLXDRIdrawable by its X drawable ID, which needs a new hash table.
2010-07-19 09:37:38 -04:00
Dave Airlie
4eaf591d15 r300g: u_upload optimisation
fix vb/ib uploads
2010-07-18 18:11:29 +02:00
Sven Arvidsson
14e362c79a gallium/st/dri2: add dri2 vblank query extension support
from bugzilla:
https://bugs.freedesktop.org/show_bug.cgi?id=28771

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-07-18 19:18:49 +10:00
Vinson Lee
f3a2f458a3 llvmpipe: Remove dead initialization. 2010-07-18 01:14:36 -07:00
Marek Olšák
70b27be923 r300g: final fix for r3xx constant buffer emission 2010-07-17 17:18:59 +02:00
Marek Olšák
f7d6cab6cd r300g: fix typo in r3xx constant buffer emission
Ooops.
2010-07-17 14:40:41 +02:00