OSDN Git Service
Brian Paul [Mon, 10 Aug 2009 19:35:58 +0000 (13:35 -0600)]
mesa: new driver meta-ops module
Implement glClear() in terms of quad rendering, implement glBlitFramebuffer()
in terms of glCopyTexImage2D + textured quad, etc.
There have been several places in the drivers where we've implemented
meta rendering similar to this. This is an effort to do it in a more
portable and more efficient form.
The _mesa_meta_begin/end() functions act like glPush/PopAttrib() but are
lighter-weight. Plus, _mesa_meta_begin() resets GL state back to default
values (texturing off, identity vertex transform, etc) so the meta drawing
functions don't have to worry about it.
For now only _mesa_mesa_blit_framebuffer() and _mesa_meta_clear() are
implemented. glDrawPixels() and glCopyPixels() would be the next candidates.
Brian Paul [Mon, 10 Aug 2009 19:43:50 +0000 (13:43 -0600)]
mesa: added GLcontext::Meta field for meta rendering state
Dave Airlie [Sat, 8 Aug 2009 10:05:11 +0000 (20:05 +1000)]
radeon_fbo: switch short to byte for 565
Dave Airlie [Mon, 10 Aug 2009 00:10:13 +0000 (10:10 +1000)]
radeon: fix cut-n-paste in alphabits in fbo code
Pauli Nieminen [Sun, 9 Aug 2009 12:22:34 +0000 (15:22 +0300)]
egl: Add depend and depend.bak to clean target
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
Dave Airlie [Sun, 9 Aug 2009 10:46:12 +0000 (20:46 +1000)]
r600: looks like a typo
Cooper Yuan [Sun, 9 Aug 2009 04:18:40 +0000 (12:18 +0800)]
r600: load per-pixel position into PS in order to use fragment.position.
This patch can fix /progs/fp/tri-depth, tri-depth2, tri-depthwrite,
tri-depthwrite2 and point-position.
Brian Paul [Fri, 7 Aug 2009 20:51:59 +0000 (14:51 -0600)]
mesa: update framebuffer status as needed in _mesa_source/dest_buffer_exists()
Brian Paul [Fri, 7 Aug 2009 19:39:03 +0000 (13:39 -0600)]
mesa: simplify glPushAttrib() list building code
Brian Paul [Fri, 7 Aug 2009 19:07:59 +0000 (13:07 -0600)]
mesa: remove old, prototype code
Brian Paul [Fri, 7 Aug 2009 18:04:09 +0000 (12:04 -0600)]
swrast: replace GLenum, GLint with GLbitfield for buffer vars
Brian Paul [Fri, 7 Aug 2009 16:51:03 +0000 (10:51 -0600)]
mesa: use _mesa_bufferobj_mapped()
Corbin Simpson [Sat, 8 Aug 2009 03:29:50 +0000 (20:29 -0700)]
r300g: Knock out another fragment of invariant state.
Colorbuffer setup will always happen.
Corbin Simpson [Sat, 8 Aug 2009 03:16:39 +0000 (20:16 -0700)]
gallium: Move minify() to u_math.
minify() is usually used in mipmap size calculation. Strangely enough,
we all defined it as MAX2(1, d >> 1); imagine that. :3
Corbin Simpson [Sat, 8 Aug 2009 02:46:52 +0000 (19:46 -0700)]
r300g: Remove r300_constant_buffer::user_count.
Not needed with new compiler.
Eric Anholt [Sat, 8 Aug 2009 01:29:56 +0000 (18:29 -0700)]
Revert "i965: Disable texture tiling by default."
This reverts commit
b8e638d4895d2d342306bb6443a455f73903ce20.
Now that the known hangs and misrendering issues are fixed, I'm ready to
start encouraging it by default again.
Eric Anholt [Sat, 8 Aug 2009 01:09:31 +0000 (18:09 -0700)]
intel: Align region height as required for tiled regions.
Otherwise, we would address beyond the end of our buffers. Fixes reliable
GPU segfault with texture_tiling=true and oglconform shadow.c.
Bug #22406.
Eric Anholt [Sat, 8 Aug 2009 01:08:20 +0000 (18:08 -0700)]
i965: Add a note justifying domain choice for the SF VP.
Eric Anholt [Sat, 8 Aug 2009 00:06:41 +0000 (17:06 -0700)]
intel: Add some more safety asserts in the blit code.
Eric Anholt [Fri, 7 Aug 2009 21:20:56 +0000 (14:20 -0700)]
i965: Replace the subroutine-skipping jump in VS with a NOP if it's a NOP.
This showed a 1.9% (+/-.3%, n=3) improvement in OA performance with high
geometry settings.
Jakob Bornecrantz [Sat, 8 Aug 2009 01:20:24 +0000 (03:20 +0200)]
i915g: Don't forget x/y coords in transfers
Fixes demos/ray.
Jakob Bornecrantz [Sat, 8 Aug 2009 01:19:01 +0000 (03:19 +0200)]
i915g: Don't try to free a mapped buffer at shutdown
Alex Deucher [Fri, 7 Aug 2009 21:35:12 +0000 (17:35 -0400)]
radeon: correct fix for tiling with the legacy build
Eric Anholt [Thu, 6 Aug 2009 20:55:09 +0000 (13:55 -0700)]
intel: Fix googleearth by avoiding GL_VIEWPORT_BIT in meta clear push/pop
I have no idea why this fixes things, but being more efficient sounds good
anyway. Fixes regression in
99d07d0f91ddd37926d08f4e7f10d55cac28d9a7
where most of the lit half of the world was not drawn.
Alex Deucher [Fri, 7 Aug 2009 20:20:26 +0000 (16:20 -0400)]
radeon: fix the build with older drm headers
Pauli Nieminen [Fri, 7 Aug 2009 17:02:22 +0000 (10:02 -0700)]
dri: Fix problems with unitialized values in dri screen object.
This fixes crash in r200 KMS driver when pSAREA was set to 1 randomly because of memory wasn't cleared.
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
Brian Paul [Thu, 6 Aug 2009 20:58:01 +0000 (14:58 -0600)]
util: fix incorrect assertion
Check that the dest surface/format is renderable.
Brian Paul [Thu, 6 Aug 2009 20:54:25 +0000 (14:54 -0600)]
util: include u_surface.h, added comment
Brian Paul [Thu, 6 Aug 2009 15:02:36 +0000 (09:02 -0600)]
util: use util_same_surface() to compare surface pointers
Brian Paul [Thu, 6 Aug 2009 15:02:05 +0000 (09:02 -0600)]
util: added util_same_surface() helper function
Robert Ellison [Fri, 7 Aug 2009 18:23:19 +0000 (12:23 -0600)]
tests: have getprocaddress return a return code
These minor changes allow getprocaddress to return an error code
in the case of test failure. This allows the program to be integrated
into the piglit test suite.
Robert Ellison [Fri, 7 Aug 2009 18:06:17 +0000 (12:06 -0600)]
mesa: improve getprocaddress test
- Allow the getprocaddress test to test extensions not supported by
Mesa. The original getprocaddress.py script only included OpenGL
extension functions that were in Mesa dispatch tables. Now all
known extension functions (as detailed in gl_API.xml) are included.
As the test does not link against any extension function symbols
(i.e. it uses glXGetProcAddress() for all extension functions),
it still compiles and links against Mesa; but now the same
binary can be used to test extensions not yet supported by Mesa.
- Extend the list of tested extension functions. The last revision
of this test exercised 16 extension functions; this revision adds
support for 95 more.
Brian Paul [Fri, 7 Aug 2009 16:49:38 +0000 (10:49 -0600)]
st/mesa: remove redundant calls to _mesa_set_vp_override()
Called from core Mesa now.
Brian Paul [Thu, 6 Aug 2009 22:04:03 +0000 (16:04 -0600)]
progs/xdemos: added multictx.c (multi-context rendering demo)
Create one window and render into it with two GLX contexts. Setup the
rendering state differently for each context to be sure there's no state
"bleeding" between contexts.
Brian Paul [Fri, 7 Aug 2009 15:50:25 +0000 (09:50 -0600)]
mesa: use _mesa_set_vp_override() in glDraw/CopyPixels and glBitmap
We don't use the vertex program in these functions and the driver may
install its own. This fixes the broken glCopyPixels swrast fallback in
i965 and possibly other drivers. In particular, glCopyPixels sometimes
didn't work because the fixed-function fragment program was replacing all
fragment colors with the current raster color.
Brian Paul [Fri, 7 Aug 2009 15:42:28 +0000 (09:42 -0600)]
mesa: reformat code to allow setting breakpoints on the true-statement
Brian Paul [Fri, 7 Aug 2009 15:41:32 +0000 (09:41 -0600)]
glxgears: make functions static, update comments
Brian Paul [Fri, 7 Aug 2009 15:40:37 +0000 (09:40 -0600)]
mesa: use _mesa_bufferobj_mapped()
Brian Paul [Fri, 7 Aug 2009 15:40:02 +0000 (09:40 -0600)]
mesa: new _mesa_bufferobj_mapped() helper function
Brian Paul [Fri, 7 Aug 2009 15:30:53 +0000 (09:30 -0600)]
mesa: use valid_fragment_program() helper
Brian Paul [Fri, 7 Aug 2009 15:24:00 +0000 (09:24 -0600)]
mesa: test DrawBuffer, not ReadBuffer in _mesa_dest_buffer_exists()
Also, update comments.
Brian Paul [Fri, 7 Aug 2009 15:18:04 +0000 (09:18 -0600)]
mesa: fix some incorrect error checks in _mesa_error_check_format_type()
Plus, simplify the code a bit.
Brian Paul [Fri, 7 Aug 2009 15:03:49 +0000 (09:03 -0600)]
mesa: do error checking on glCopyPixels() type parameter
Plus, move some other error checks before state validation and update
some comments.
Brian Paul [Fri, 7 Aug 2009 14:53:53 +0000 (08:53 -0600)]
mesa: use a more logical flag in _mesa_set_vp_override()
Brian Paul [Thu, 6 Aug 2009 19:53:06 +0000 (13:53 -0600)]
mesa: new _mesa_copy_client_array() function
Brian Paul [Thu, 6 Aug 2009 17:40:15 +0000 (11:40 -0600)]
i965: minor context comments
Brian Paul [Thu, 6 Aug 2009 17:40:06 +0000 (11:40 -0600)]
intel: minor context comments
Brian Paul [Wed, 5 Aug 2009 22:31:08 +0000 (16:31 -0600)]
intel: move blit call out of assert()
Brian Paul [Wed, 5 Aug 2009 21:31:51 +0000 (15:31 -0600)]
intel: fix typo: s/softare/software/
Brian Paul [Tue, 4 Aug 2009 23:02:12 +0000 (17:02 -0600)]
mesa: fix comment
Dave Airlie [Fri, 7 Aug 2009 09:40:05 +0000 (19:40 +1000)]
radeon: enable tiling fallbacks in 3D driver.
Only really got good testing on r500 so far, need to enable in
DDX and play some more.
Dave Airlie [Fri, 7 Aug 2009 06:16:08 +0000 (16:16 +1000)]
radeon span: add r200 depth/stencil span read/writing
this should only really affect DRI2 since we mostly have a surface in DRI1.
I don't think this is perfect yet, but it is a better start than nothing.
Dave Airlie [Fri, 7 Aug 2009 04:12:09 +0000 (14:12 +1000)]
r200: fix scissor emission for r200 under kms
Ian Romanick [Thu, 6 Aug 2009 20:21:23 +0000 (15:21 -0500)]
GL_ARB_vertex_array_bgra is (basically) a synonym for the EXT version
Alan Hourihane [Thu, 6 Aug 2009 14:54:49 +0000 (15:54 +0100)]
Ensure GL_EXT_blend_equation_separate is enabled when 2.0 is enabled.
Chia-I Wu [Thu, 6 Aug 2009 14:39:25 +0000 (08:39 -0600)]
progs/egl: Add xeglbindtex, really.
Missed this file in the earlier commit.
Jakob Bornecrantz [Thu, 6 Aug 2009 12:59:05 +0000 (13:59 +0100)]
mesa: Ignores
Got tired of seeing these files in git status all the time
Jakob Bornecrantz [Thu, 6 Aug 2009 12:50:46 +0000 (13:50 +0100)]
i915g: Compile with scons
Jakob Bornecrantz [Thu, 6 Aug 2009 12:20:49 +0000 (13:20 +0100)]
identity: Use the correct texture
Eric Anholt [Thu, 6 Aug 2009 03:12:15 +0000 (20:12 -0700)]
i965: Fix source depth reg setting for FSes reading and writing to depth.
For some IZ setups, we'd forget to account for the source depth register
being present, so we'd both read the wrong reg, and write output depth to
the wrong reg.
Bug #22603.
Jakob Bornecrantz [Wed, 5 Aug 2009 23:01:18 +0000 (00:01 +0100)]
st/xorg: If we have DRI2 we should also have some sort of hw support
Jakob Bornecrantz [Wed, 5 Aug 2009 23:28:15 +0000 (00:28 +0100)]
i915g: Always run in sync with the HW
Jakob Bornecrantz [Wed, 5 Aug 2009 23:00:24 +0000 (00:00 +0100)]
i915g: The i915 seems more happier with sampler domain so lets use that
Jakob Bornecrantz [Wed, 5 Aug 2009 22:59:37 +0000 (23:59 +0100)]
i915g: Dirty fix for VBO module double flush assert
Jakob Bornecrantz [Wed, 5 Aug 2009 22:56:08 +0000 (23:56 +0100)]
i915g: Switch to mapping the batch buffer instead of using subdata
Chia-I Wu [Wed, 5 Aug 2009 22:08:48 +0000 (16:08 -0600)]
progs/egl: Add xeglbindtex.
This is a simple demo for eglBindTexImage. It uses a OpenGL context,
instead of the required OpenGL ES one. But it still suffices the demo
and test purpose.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 5 Aug 2009 22:08:07 +0000 (16:08 -0600)]
egl_softpipe: Add support for pbuffer binding.
This adds support for eglBindTexImage and eglReleaseTexImage. They rely
on the state tracker to do the real work.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 5 Aug 2009 22:07:39 +0000 (16:07 -0600)]
egl_softpipe: Flush when switching current context.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 5 Aug 2009 22:07:19 +0000 (16:07 -0600)]
mesa/st: Add support for binding pipe surface to texture.
This commit adds functions to bind a pipe surface to a texture. This
allows texturing directly from the surface.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Chia-I Wu [Wed, 5 Aug 2009 22:06:50 +0000 (16:06 -0600)]
mesa/main: Add functions to clear and dirty texture objects.
This commit adds a function to clear a texture object such that there is
no image data associated with it, and a function to dirty it so that it
will be re-tested for completeness.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Brian Paul [Wed, 5 Aug 2009 20:13:48 +0000 (14:13 -0600)]
Merge branch 'mesa_7_5_branch'
Conflicts:
src/mesa/main/state.c
Brian Paul [Wed, 5 Aug 2009 19:50:21 +0000 (13:50 -0600)]
docs:fix glBlitFramebuffer() for Gallium
Brian Paul [Wed, 5 Aug 2009 19:46:47 +0000 (13:46 -0600)]
st/mesa: implement BlitFramebuffer() for depth/stencil (incomplete)
We now handle the case of blitting Z+stencil to/from combined Z/stencil
surfaces. But Z-only or stencil-only and separate depth/stencil surfaces
are not yet implemented.
Brian Paul [Wed, 5 Aug 2009 19:44:59 +0000 (13:44 -0600)]
mesa: generate GL_INVALID_OPERATION for missing z/stencil when blitting
If glBlitFramebuffer() is called with GL_DEPTH_BUFFER_BIT or
GL_STENCIL_BUFFER_BIT and the src/dst depth/stencil buffers are absent,
report an error.
Brian Paul [Wed, 5 Aug 2009 19:26:19 +0000 (13:26 -0600)]
st/mesa: fix Y inversion and optimize st_BlitFramebuffer()
Need to check for Y inversion separately for src/dest buffers.
If both the src and dest regions are upside down, make them right-side
up for a better chance at a fast path.
progs/tests/copypixrate -blit is much faster now.
Brian Paul [Wed, 5 Aug 2009 19:22:26 +0000 (13:22 -0600)]
util: added comment/question about blit clipping
Brian Paul [Wed, 5 Aug 2009 19:21:59 +0000 (13:21 -0600)]
mesa: make _mesa_clip_blit() a shared function
Brian Paul [Wed, 5 Aug 2009 19:19:01 +0000 (13:19 -0600)]
util: added util_blit_pixels() overlap test
A comment alluded to this. Now it's checked.
Brian Paul [Wed, 5 Aug 2009 19:09:15 +0000 (13:09 -0600)]
util: fix util_blit_pixels() test for surface_copy() path
For the surface_copy() path require same format, no flipping and no stretching.
Fixes progs/tests/copypixrate -blit
Brian Paul [Wed, 5 Aug 2009 18:40:50 +0000 (12:40 -0600)]
util: reformatting and comments
Jakob Bornecrantz [Wed, 5 Aug 2009 18:26:21 +0000 (19:26 +0100)]
st/xorg: Make it work again
Jakob Bornecrantz [Wed, 5 Aug 2009 18:15:21 +0000 (19:15 +0100)]
st/egl: Create primary texture not display target
Jakob Bornecrantz [Wed, 5 Aug 2009 18:22:34 +0000 (19:22 +0100)]
i915g: Treat primary textures as scanout buffers
Jakob Bornecrantz [Wed, 5 Aug 2009 18:12:53 +0000 (19:12 +0100)]
i915g: Link with trace on EGL and Xorg
Jakob Bornecrantz [Wed, 5 Aug 2009 17:55:57 +0000 (18:55 +0100)]
trace: Use correct texture in drm_api wrapper
Jakob Bornecrantz [Wed, 5 Aug 2009 18:13:55 +0000 (19:13 +0100)]
softpipe: Also defere primary textures to backend
Dave Airlie [Wed, 5 Aug 2009 01:26:29 +0000 (11:26 +1000)]
r200: emit colorpitch
Eric Anholt [Wed, 5 Aug 2009 01:07:01 +0000 (18:07 -0700)]
i965: Fix dangerous warning I let slip in.
Eric Anholt [Wed, 5 Aug 2009 01:02:31 +0000 (18:02 -0700)]
i965: Respect CondSwizzle in OPCODE_IF.
Fixes piglit glsl-vs-if-bool and progs/glsl/twoside, and will likely be
useful for the looping code.
Bug #18992
Eric Anholt [Tue, 4 Aug 2009 21:13:27 +0000 (14:13 -0700)]
i965: Emit conditional code updates as required for GLSL VS if statements.
Previously, we'd be branching based on whatever condition code happened to be
laying around.
Eric Anholt [Tue, 4 Aug 2009 23:09:30 +0000 (16:09 -0700)]
i965: Don't set pop_count in the reserved MBZ area of IF statements.
Eric Anholt [Tue, 4 Aug 2009 23:26:37 +0000 (16:26 -0700)]
i965: Print out ELSE and ENDIF src1 arguments like IF does.
Roland Scheidegger [Wed, 5 Aug 2009 00:32:09 +0000 (02:32 +0200)]
r200: fix off-by-one errors causing 6th texture unit to not work
both for normal and cube textures, this fixes demos/multiarb
(with 6 enabled texture units) and fixes #23142.
Roland Scheidegger [Wed, 5 Aug 2009 00:25:40 +0000 (02:25 +0200)]
r200: fix compiler warning (unused var)
Roland Scheidegger [Tue, 4 Aug 2009 23:12:16 +0000 (01:12 +0200)]
radeon: fix miptree comparison breakage
another case of image never matching miptree in case of compressed textures
Roland Scheidegger [Tue, 4 Aug 2009 23:10:45 +0000 (01:10 +0200)]
intel: implement intelCompressedTexSubImage2D
similar to the radeon code.
passes tests/texcompsub
Roland Scheidegger [Tue, 4 Aug 2009 22:57:08 +0000 (00:57 +0200)]
tests: also test xoffset in texcompsub test
use glCompressedTexSubImage2DARB also with xoffset by splitting into 3 calls
in total. Dunno if the top/bottom reversal is intentional but leave as is.
Eric Anholt [Tue, 4 Aug 2009 18:28:26 +0000 (11:28 -0700)]
intel: Add support for EXT_provoking_vertex.
Eric Anholt [Tue, 4 Aug 2009 20:42:30 +0000 (13:42 -0700)]
i965: Spell "conditional" correctly.
Eric Anholt [Tue, 4 Aug 2009 22:27:40 +0000 (15:27 -0700)]
i965: Hook up the disassembler for INTEL_DEBUG={wm,vs}.
I was getting tired of doing the dance of INTEL_DEBUG=batch, copying it out,
and running intel-gen4disasm on it.