Chris Wilson [Wed, 9 Feb 2011 10:00:09 +0000 (10:00 +0000)]
intel: Replace the bo for a complete update
Rather than performing a blit to completely overwrite a busy bo, simply
discard it and create a new one with the fresh data.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson [Tue, 8 Feb 2011 22:22:36 +0000 (22:22 +0000)]
i965: Combine vb upload buffer with the general upload buffer
Reuse the new common upload buffer for uploading temporary indices and
rebuilt vertex arrays.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson [Tue, 8 Feb 2011 20:01:10 +0000 (20:01 +0000)]
intel: Pack dynamic draws together
Dynamic arrays have the tendency to be small and so allocating a bo for
each one is overkill and we can exploit many efficiency gains by packing
them together.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson [Tue, 8 Feb 2011 16:57:26 +0000 (16:57 +0000)]
intel: Use system memory for DYNAMIC_DRAW source objects
Dynamic draw buffers are used by clients for temporary arrays and for
uploading normal vertex arrays. By keeping the data in memory, we can
avoid reusing active buffer objects and reallocate them as they are
changed. This is important for Sandybridge which can not issue blits
within a batch and so ends up flushing the batch upon every update, that
is each batch only contains a single draw operation (if using dynamic
arrays or regular arrays from system memory).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson [Sat, 29 Jan 2011 14:01:50 +0000 (14:01 +0000)]
i965: Trim the trailing NOOP from 3DSTATE_INDEX_BUFFER
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson [Fri, 18 Feb 2011 17:51:10 +0000 (17:51 +0000)]
i965: Fallback on encountering a NULL render buffer
Following a GPU hang, or other error, the render target is not likely to
have an allocated BO and so we must fallback to avoid using it.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32534
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Vinson Lee [Mon, 21 Feb 2011 05:23:26 +0000 (21:23 -0800)]
i915g: s/__func__/__FUNCTION__/
Daniel Vetter [Sun, 5 Dec 2010 12:23:40 +0000 (13:23 +0100)]
i915g: kill remnants of mmapped batchbuffer support
We're using bo_subdata.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Jakob Bornecrantz [Sun, 20 Feb 2011 10:49:33 +0000 (11:49 +0100)]
i915g: Add winsys/i915/sw to scons build
Jakob Bornecrantz [Sun, 20 Feb 2011 10:46:50 +0000 (11:46 +0100)]
i915g: Fix void ptr arith
Jakob Bornecrantz [Sun, 20 Feb 2011 10:46:17 +0000 (11:46 +0100)]
i915g: Add dummy flush_frontbuffer
Jon TURNEY [Wed, 16 Feb 2011 13:37:57 +0000 (13:37 +0000)]
Fix --enable-shared-glapi configure option
Fix a typo which meant that --enable-shared-glapi didn't actually cause a shared glapi to be built
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Chia-I Wu [Sun, 20 Feb 2011 19:23:54 +0000 (12:23 -0700)]
egl_dri2: Return NULL when xcb_get_geometry_reply fails.
This should fix bug #33946.
José Fonseca [Sat, 19 Feb 2011 10:29:59 +0000 (10:29 +0000)]
scons: Add aliases for the llvmpipe unit tests.
Now one can simply do
scons lp_test_format
José Fonseca [Sat, 19 Feb 2011 10:25:43 +0000 (10:25 +0000)]
gallivm: Use simple scaling plus casting in more unorm->float cases.
Kenneth Graunke [Sat, 19 Feb 2011 08:06:00 +0000 (00:06 -0800)]
glsl: Remove $(PWD) from Makefile in favor of .
Hopefully should fix bug #34468.
Marek Olšák [Fri, 18 Feb 2011 23:16:44 +0000 (00:16 +0100)]
r300g: fix a possible race when counting contexts
Atomics aren't sufficient here.
Marek Olšák [Fri, 18 Feb 2011 23:06:52 +0000 (00:06 +0100)]
r300g: fix invalid dereference in winsys
radeon_bo_unref may destroy the buffer, so call it after p_atomic_dec, not before.
José Fonseca [Fri, 18 Feb 2011 19:03:08 +0000 (19:03 +0000)]
svga: Fix NULL dereference.
Probably introduced with the surface view move from screen to context.
Brian Paul [Fri, 18 Feb 2011 17:34:06 +0000 (10:34 -0700)]
vbo: add debug code to verify that buffers are unmapped before drawing
Brian Paul [Fri, 18 Feb 2011 16:53:29 +0000 (09:53 -0700)]
mesa: MESA_VERBOSE logging for glRead/Draw/CopyPixels, glBlitFramebuffer
Brian Paul [Fri, 18 Feb 2011 17:28:27 +0000 (10:28 -0700)]
st/mesa: set renderbuffer _BaseFormat in a few places
NOTE: This is a candidate for the 7.9 and 7.10 branches
Brian Paul [Fri, 18 Feb 2011 17:18:34 +0000 (10:18 -0700)]
st/mesa: check buffer orientation in blit_copy_pixels()
Can't invert the region if copying between surfaces with different
orientations.
José Fonseca [Fri, 18 Feb 2011 14:33:55 +0000 (14:33 +0000)]
svga: Ensure pending drawing commands other surface operations are emitted before DMAs.
This behavior was last when moving the transfers to the contexts.
This fixes several piglit failures, which were reading the color renderbuffer
before the draw operations were emitted.
José Fonseca [Fri, 18 Feb 2011 15:07:50 +0000 (15:07 +0000)]
svga: Cannot use negate or abs on source to dsx/dsy instructions.
José Fonseca [Fri, 18 Feb 2011 14:29:48 +0000 (14:29 +0000)]
svga: Ensure SWTNL is created after HWTNL.
Matches the internal driver layering, and prevents null svga->hwtnl
dereferencing from inside the swtnl.
José Fonseca [Fri, 18 Feb 2011 13:53:45 +0000 (13:53 +0000)]
svga: Ensure LRP's restrictions are observed in all uses.
The dst reg must be a temporary, and not be the same as src0 or src2.
José Fonseca [Fri, 18 Feb 2011 13:24:12 +0000 (13:24 +0000)]
svga: Preserve src swizzles in submit_op2/3/4.
Several opcodes require scalar swizzle, and this requirement was
being was not being observed when creating temporaries for other reasons.
Marek Olšák [Fri, 18 Feb 2011 14:29:00 +0000 (15:29 +0100)]
r300g: remove tracking whether vertex buffers need to be validated
This was getting hard to maintain and didn't really bring any real benefits.
Instead, validate buffers when the vertex array state is dirty.
Marek Olšák [Thu, 17 Feb 2011 15:17:34 +0000 (16:17 +0100)]
st/mesa: fix geometry corruption by always re-binding vertex arrays
This is a temporary workaround. It fixes sauerbrauten with shaders enabled.
I guess we might be changing vertex attribs somewhere and not updating
the appropriate dirty flags, therefore we can't rely on them for now.
Or maybe we need to make this state dependent on some other flags too.
More info:
https://bugs.freedesktop.org/show_bug.cgi?id=34378
Jakob Bornecrantz [Thu, 17 Feb 2011 17:16:14 +0000 (17:16 +0000)]
svga: Disable surface cache for textures
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Jakob Bornecrantz [Thu, 17 Feb 2011 14:58:55 +0000 (14:58 +0000)]
svga: Describe svga_sampler_views for refcnt debugging
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Jakob Bornecrantz [Thu, 17 Feb 2011 17:14:44 +0000 (17:14 +0000)]
svga: Make sure that refcnt debugger gets the correct backtrace for create
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Jakob Bornecrantz [Thu, 17 Feb 2011 11:18:02 +0000 (11:18 +0000)]
util: Make refcnt and symbol debuggers work on windows
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
Cyril Brulebois [Fri, 18 Feb 2011 08:10:28 +0000 (00:10 -0800)]
Point to bugs.freedesktop.org rather than bugzilla.freedesktop.org
Suggested by a freedesktop.org admin.
Signed-off-by: Cyril Brulebois <kibi@debian.org>
Marek Olšák [Fri, 18 Feb 2011 12:45:29 +0000 (13:45 +0100)]
u_vbuf_mgr: initialize flag indicating that buffers have been updated
This fixes r300g errors:
r300: Cannot get a relocation in radeon_drm_cs_write_reloc.
Thomas Hellstrom [Fri, 18 Feb 2011 10:36:34 +0000 (11:36 +0100)]
gallium/svga: Fix unnecessary swtnl fallbacks
When we drop the in_swtnl_draw flag, we must force a rerun of
update_need_swtnl to reset the need_swtnl flag to its correct value outside
of a swtnl vbo draw.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Dave Airlie [Fri, 18 Feb 2011 05:59:58 +0000 (15:59 +1000)]
r600g: reorganise rgtc pieces.
when the cs checker fixes go upstream a lot of this can disappear
into a drm version check.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Fri, 18 Feb 2011 02:10:13 +0000 (19:10 -0700)]
st/mesa: implement blit-based path for glCopyPixels
If doing a simple non-overlapping glCopyPixels with no per-fragment ops
we can use pipe_context::resource_copy_region().
Brian Paul [Fri, 18 Feb 2011 01:12:25 +0000 (18:12 -0700)]
mesa: fix comments for _mesa_clip_readpixels()
Brian Paul [Thu, 17 Feb 2011 16:44:44 +0000 (09:44 -0700)]
st/mesa: indentation fix
Fabian Bieler [Wed, 16 Feb 2011 09:02:47 +0000 (10:02 +0100)]
r600g: Start a new TEX clause if the texture lookup address was fetched in the current clause
Signed-off-by: Dave Airlie <airlied@redhat.com>
Fabian Bieler [Tue, 15 Feb 2011 12:00:49 +0000 (13:00 +0100)]
r600g: Add support to dump vertex- and texture-fetch clauses
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 17 Feb 2011 23:34:53 +0000 (09:34 +1000)]
r600g: add BC4/5 to RGTC conversion
this doesn't do anything much since the rest of mesa doesn't
support RGTC yet.
José Fonseca [Thu, 17 Feb 2011 17:13:51 +0000 (17:13 +0000)]
util: Fix typo in last commit.
Brian Paul [Thu, 17 Feb 2011 17:09:37 +0000 (10:09 -0700)]
st/mesa: fix incorrect glCopyPixels position on fallback path
If we hit the pipe_get/put_tile() path for setting up the glCopyPixels
texture we were passing the wrong x/y position to pipe_get_tile().
The x/y position was already accounted for in the pipe_get_transfer()
call so we were effectively reading from 2*readX, 2*readY.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Brian Paul [Thu, 17 Feb 2011 16:21:24 +0000 (09:21 -0700)]
draw: update comments, rename vars in pstipple code
José Fonseca [Thu, 17 Feb 2011 10:09:06 +0000 (10:09 +0000)]
svga: Don't use more than one constant per IFC instruction.
José Fonseca [Thu, 17 Feb 2011 09:48:17 +0000 (09:48 +0000)]
mesa: Do copy propagation across if-else-endif.
Addresses excessive TEMP allocation in vertex shaders where all CONSTs are
stored into TEMPS at the start, but copy propagation was failing due to
the presence of IFs.
We could do something about loops, but ifs are easy enough.
José Fonseca [Thu, 17 Feb 2011 15:26:15 +0000 (15:26 +0000)]
util: Cleanup symbol name resolution on Windows.
- Support symbol name resolution on MinGW.
- Use dbghelp.dll (which should allow 64bit support), but untested yet.
- Cleanup.
Brian Paul [Thu, 17 Feb 2011 14:29:20 +0000 (07:29 -0700)]
docs: updated environment variable list
Brian Paul [Thu, 17 Feb 2011 14:28:51 +0000 (07:28 -0700)]
st/mesa: remove unused screen variables
Brian Paul [Thu, 17 Feb 2011 14:27:17 +0000 (07:27 -0700)]
mesa: remove the MESA_NO_DITHER env var
This was sometimes useful back when 16-bit framebuffers were prominent.
Brian Paul [Thu, 17 Feb 2011 14:23:40 +0000 (07:23 -0700)]
softpipe: rename env vars to be consistent
Haitao Feng [Thu, 17 Feb 2011 04:05:15 +0000 (23:05 -0500)]
egl_dri2: add swrast
This enables the egl_dri2 driver to load swrast driver
for software rendering. It could be used when hardware
dri2 drivers are not available, such as in VM.
Signed-off-by: Haitao Feng <haitao.feng@intel.com>
Dave Airlie [Thu, 17 Feb 2011 00:25:57 +0000 (10:25 +1000)]
r600g: get s3tc working on cards with crappy 64/128 bit types.
Some cards don't appear to work correctly with the UNORM type,
so switch to the integer type, however since gallium has no
integer types yet from what I can see we need to do a hack to
workaround it for the blitter.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Thu, 17 Feb 2011 00:24:15 +0000 (10:24 +1000)]
r600g: add missing type to color buffer swap.
Brian Paul [Thu, 17 Feb 2011 00:10:35 +0000 (17:10 -0700)]
gallium/util: init key with memset()
To silence missing initializers warning.
Brian Paul [Wed, 16 Feb 2011 21:20:14 +0000 (14:20 -0700)]
svga: flush when transitioning between HW and SW rendering paths
To avoid mixing HW and SW rendering with the same vertex buffer.
Brian Paul [Wed, 16 Feb 2011 21:17:41 +0000 (14:17 -0700)]
rtasm: add dummy return statement to silence MSVC warning
And use assert(0) instead of abort() to be consistent with rest
of Gallium.
Brian Paul [Tue, 15 Feb 2011 21:06:21 +0000 (14:06 -0700)]
svga: use TRUE/FALSE instead of 0/1
Some fields are booleans, others are bitmasks. Use TRUE/FALSE to
clarify what's what.
Brian Paul [Tue, 15 Feb 2011 20:24:41 +0000 (13:24 -0700)]
svga: fix incorrect comment
Brian Paul [Tue, 15 Feb 2011 20:24:21 +0000 (13:24 -0700)]
svga: dimension the dirty[] array with SVGA_STATE_MAX
Brian Paul [Tue, 15 Feb 2011 17:26:56 +0000 (10:26 -0700)]
mesa: make _mesa_write_renderbuffer_image() non-static
Brian Paul [Fri, 11 Feb 2011 21:30:31 +0000 (14:30 -0700)]
svga: disable a debug_printf() call
Sam Hocevar [Thu, 17 Feb 2011 00:04:20 +0000 (17:04 -0700)]
docs: add glsl info
Sam Hocevar [Thu, 17 Feb 2011 00:04:03 +0000 (17:04 -0700)]
docs: fix glsl_compiler name
Brian Paul [Wed, 16 Feb 2011 17:35:21 +0000 (10:35 -0700)]
mesa: 80-column wrap
José Fonseca [Wed, 16 Feb 2011 21:52:49 +0000 (21:52 +0000)]
svga: Proper redefine_user_buffer implementation.
Unfortunately still not enough to make GoogleEarth happy.
Marek Olšák [Wed, 16 Feb 2011 21:23:23 +0000 (22:23 +0100)]
r300g: fix a race between CS and SET_TILING ioctls
Marek Olšák [Wed, 16 Feb 2011 19:09:06 +0000 (20:09 +0100)]
r300g: fix blitting NPOT compressed textures
Marek Olšák [Wed, 16 Feb 2011 19:37:28 +0000 (20:37 +0100)]
mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2 and 4_4
Oops, I copy-pasted a typo from 3_3_2.
The 3_3_2 part is a candidate for 7.9 and 7.10.
The 4_4 part isn't, because AL44 is in neither branches.
Marek Olšák [Wed, 16 Feb 2011 09:07:05 +0000 (10:07 +0100)]
mesa: fix mipmap generation for MESA_FORMAT_AL44
This was missed when implementing AL44.
José Fonseca [Tue, 15 Feb 2011 17:31:31 +0000 (17:31 +0000)]
scons: Recognize 'AMD64' processor as well.
José Fonseca [Tue, 15 Feb 2011 17:01:20 +0000 (17:01 +0000)]
scons: Don't get fooled by 32bit python on a 64bit windows.
José Fonseca [Tue, 15 Feb 2011 15:31:19 +0000 (15:31 +0000)]
scons: Avoid depending on scons 2.0 in general.
José Fonseca [Tue, 21 Sep 2010 10:47:19 +0000 (11:47 +0100)]
mesa: Remove the DXT compression via blit path.
No longer used.
José Fonseca [Tue, 21 Sep 2010 10:46:20 +0000 (11:46 +0100)]
svga: Don't fake DXT compression ability.
Christoph Bumiller [Wed, 16 Feb 2011 14:41:32 +0000 (15:41 +0100)]
nvc0: fix blend factor mapping
Christoph Bumiller [Wed, 16 Feb 2011 10:57:00 +0000 (11:57 +0100)]
nvc0: fix emit_dfdx,dfdy
Christoph Bumiller [Wed, 16 Feb 2011 10:42:28 +0000 (11:42 +0100)]
nvc0: don't swap sources if either value is not in a GPR
The memory / immediate source should already be in the only valid
position.
Christoph Bumiller [Tue, 15 Feb 2011 20:36:57 +0000 (21:36 +0100)]
nvc0: add missing break statements in constant_operand
Christoph Bumiller [Tue, 15 Feb 2011 13:41:20 +0000 (14:41 +0100)]
nvc0: fix clipping and use VIEWPORT instead of SCISSOR
Christoph Bumiller [Mon, 14 Feb 2011 13:10:41 +0000 (14:10 +0100)]
nvc0: demagic the clear flags and fix region clears
The CLIP_RECTs always affect dedicated clears, and it's nicer than
having to mark the viewport or scissor state dirty after it.
Christoph Bumiller [Mon, 14 Feb 2011 01:04:58 +0000 (02:04 +0100)]
nvc0: front stencil mask and func mask methods are swapped
Christoph Bumiller [Sat, 12 Feb 2011 23:17:43 +0000 (00:17 +0100)]
nvc0: clone memory values with multiple refs before modifying them
Christoph Bumiller [Sat, 12 Feb 2011 21:02:26 +0000 (22:02 +0100)]
nvc0: disable early fragment tests if KIL is used
Early-Z pass raises the occlusion counter.
Christoph Bumiller [Sat, 12 Feb 2011 18:18:19 +0000 (19:18 +0100)]
nvc0: force vertex data through FIFO if we need to convert it
We may want to put the converted vertex buffer in persistent
storage instead, but these are rare corner cases.
Christoph Bumiller [Sat, 12 Feb 2011 17:50:03 +0000 (18:50 +0100)]
nvc0: use format from the template on surface creation
Fixes piglit/fbo-srgb.
Christoph Bumiller [Sat, 12 Feb 2011 17:27:47 +0000 (18:27 +0100)]
nvc0: update the set of formats supported by the 2D engine
Christoph Bumiller [Tue, 15 Feb 2011 18:12:41 +0000 (19:12 +0100)]
nvc0: fix user vertex buffer updates
Brian Paul [Wed, 16 Feb 2011 14:08:47 +0000 (07:08 -0700)]
mesa: use gl_format type instead of GLuint
Dave Airlie [Wed, 16 Feb 2011 06:51:41 +0000 (16:51 +1000)]
r600g: fix typo in previous s3tc commit
pointed out by Marek on irc.
Marek Olšák [Wed, 16 Feb 2011 04:28:40 +0000 (05:28 +0100)]
r300g: fix texture border color for float formats
Dave Airlie [Wed, 16 Feb 2011 06:13:58 +0000 (16:13 +1000)]
Revert "util: fix DXT1 RGBA texture compression if the source color is (0, 0, 0, 0)"
This reverts commit
6e7d782da506da233b2ac695b022ac393e1c719e.
Oops, I just had this locally for testing and forgot to remove it before pushing.
Dave Airlie [Wed, 16 Feb 2011 06:09:43 +0000 (16:09 +1000)]
r600g: add L8A8 SRGB formats.
this fixes the piglit mipmap generation sRGB on my rv730.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Wed, 16 Feb 2011 03:18:42 +0000 (04:18 +0100)]
util: fix DXT1 RGBA texture compression if the source color is (0, 0, 0, 0)
This is a workaround for a bug in libtxc_dxtn.
Fixes:
- piglit/GL_EXT_texture_compression_s3tc/fbo-generatemipmap-formats
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Wed, 16 Feb 2011 06:01:36 +0000 (16:01 +1000)]
r600g: add L4A4 support.
this fixes piglit fbo-generatemipmap-formats on my rv730.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Wed, 16 Feb 2011 05:56:11 +0000 (15:56 +1000)]
r600g: fix s3tc-texsubimage
we need to translate the destination box as well.
fixes piglit's s3tc-texsubimage test.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Ian Romanick [Wed, 16 Feb 2011 02:17:53 +0000 (18:17 -0800)]
linker: Fix off-by-one error implicit array sizing
Arrays are zero based. If the highest element accessed is 6, the
array needs to have 7 elements.
Fixes piglit test glsl-fs-implicit-array-size-03 and bugzilla #34198.
NOTE: This is a candidate for the 7.9 and 7.10 branches.