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.
Eric Anholt [Tue, 4 Aug 2009 22:00:36 +0000 (15:00 -0700)]
i965: Initial import of disasm code from intel-gen4asm.
There's a bunch of stuff from gen4asm and gpu-tools that we probably want
to make into a library instead of cargo-culting it around.
Eric Anholt [Tue, 4 Aug 2009 22:29:00 +0000 (15:29 -0700)]
i965: warning fix
Brian Paul [Tue, 4 Aug 2009 22:17:09 +0000 (16:17 -0600)]
tests/getteximage: test more texture sizes, including npot
Brian Paul [Tue, 4 Aug 2009 21:36:13 +0000 (15:36 -0600)]
mesa: log the shader checksum
Brian Paul [Tue, 4 Aug 2009 21:35:48 +0000 (15:35 -0600)]
mesa: compute, print shader checksum
Brian Paul [Tue, 4 Aug 2009 21:34:59 +0000 (15:34 -0600)]
mesa: added gl_shader::SourceChecksum field (for debug purposes)
Brian Paul [Tue, 4 Aug 2009 21:33:53 +0000 (15:33 -0600)]
mesa: added _mesa_str_checksum()
Brian Paul [Tue, 4 Aug 2009 21:29:00 +0000 (15:29 -0600)]
mesa: clean-up error debug/count code
Brian Paul [Tue, 4 Aug 2009 21:28:29 +0000 (15:28 -0600)]
mesa: reset ErrorDebugCount to zero in glGetString()
Brian Paul [Tue, 4 Aug 2009 21:04:37 +0000 (15:04 -0600)]
mesa: better texture dump/debug code
Brian Paul [Tue, 4 Aug 2009 20:53:24 +0000 (14:53 -0600)]
mesa: more error message info for vertex pointer functions
Brian Paul [Tue, 4 Aug 2009 16:55:29 +0000 (10:55 -0600)]
mesa: more glGetTexImage() error checking consolidation, new assertion
Eric Anholt [Tue, 4 Aug 2009 19:39:22 +0000 (12:39 -0700)]
i965: Fix RECT shadow sampling by not losing the other texcoords.
Bug #20821
Brian Paul [Tue, 4 Aug 2009 15:27:49 +0000 (09:27 -0600)]
docs: 7.5.1 bug fixes
Brian Paul [Tue, 4 Aug 2009 15:23:17 +0000 (09:23 -0600)]
intel: Fix inverted test for disabling flushing of front buffer output.
The comment disagreed with the code, and nicely drew my eyes to what was
going wrong.
Bug #21774 (blender)
Bug #21788 (readpix)
(cherry picked from master, commit
fd65418f600874b05f902b622078b40bc1abb24a)
Brian Paul [Tue, 4 Aug 2009 15:22:15 +0000 (09:22 -0600)]
intel: Wait on the last swapbuffers to complete before queuing a new one.
This fixes jerkiness in doom3 and other apps since the kernel change to
throttle less absurdly, which led to a thundering herd of frames.
Because this is a rather minimal fix, there is at least one downside: If
the whole scene completes in one batchbuffer, we'll end up stalling the GPU.
Thanks to Michel Dänzer for suggesting using glFlush to signal frame end
instead of going to all the effort of adding a new DRI2 extension.
(cherry picked from master, commit
0828579a658af01a64b5e699175dc9bbbedcd685)
Brian Paul [Tue, 4 Aug 2009 15:15:33 +0000 (09:15 -0600)]
texenv: Use VP->Current, since _Current isn't updated at this point.
(cherry picked from master, commit
a9ba1bfeb3a2852c6eda718e73c46c972a286648)
Brian Paul [Tue, 4 Aug 2009 15:15:09 +0000 (09:15 -0600)]
texenv: Match state.c in deciding whether we'll be using a vertex shader.
(cherry picked from master, commit
40990d9dfb20b69585859b2a45596aa46c20140a)
Brian Paul [Tue, 4 Aug 2009 15:14:33 +0000 (09:14 -0600)]
texenv: Add missing dependency on VP changes.
Funny thing is I annotated this dependency in
e5f63c403b767f9974e8eb5d412c012b8a69287f, but didn't actually use it.
(cherry picked from master, commit
03187571b63d97e3d1406d329c5e760e16ef3181)
Conflicts:
src/mesa/main/state.c
Dan Nicholson [Mon, 3 Aug 2009 15:35:43 +0000 (08:35 -0700)]
mklib: Ensure target directory exists for library
Instead of relying on the Makefile to always generate $(TOP)/$(LIB_DIR),
just have mklib handle creating the directory. This should fix any races
when using parallel make.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
(cherry picked from commit
23671e5358ffc0abfec83aeea9a515b09a6b35f3)
Peter Hutterer [Mon, 20 Jul 2009 06:11:26 +0000 (16:11 +1000)]
Add missing X11_INCLUDES to egl/drivers/demo and egl/main.
Compiling mesa on a system with no X headers installed in the default
include paths fails due to missing X11 includes. The header includes are
picked up by configure but not applied.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit
5358e54d1ae64ccfa81199b343a2931b415fcc0a)
Dan Nicholson [Mon, 3 Aug 2009 15:35:43 +0000 (08:35 -0700)]
mklib: Ensure target directory exists for library
Instead of relying on the Makefile to always generate $(TOP)/$(LIB_DIR),
just have mklib handle creating the directory. This should fix any races
when using parallel make.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Michel Dänzer [Tue, 4 Aug 2009 08:57:47 +0000 (10:57 +0200)]
r300g: Slightly saner initialization of some texture / transfer fields.
Eric Anholt [Tue, 4 Aug 2009 00:55:14 +0000 (17:55 -0700)]
i965: Assert that the offset in the VBO is below the VBO size.
This avoids sending a bad buffer address to the GPU due to programmer error,
and is permitted by the ARB_vbo spec. Note that we still have the opportunity
to dereference past the end of the GPU, because we aren't clipping to a
correct _MaxElement, but that appears to be harder than it should be. This
gets us the 90% solution.
Bug #19911.
Eric Anholt [Tue, 4 Aug 2009 00:12:43 +0000 (17:12 -0700)]
i965: Even if no VS inputs are set, still load some amount of URB as required.
See comment on Vertex URB Entry Read Length for VS_STATE.
This, combined with the previous three commits, fixes #22945.
Eric Anholt [Mon, 3 Aug 2009 22:24:02 +0000 (15:24 -0700)]
i965: Make sure the VS URB size is big enough to fit a VF VUE.
This fix is just from code and docs inspection, but it may fix hangs on
some applications.
Eric Anholt [Thu, 30 Jul 2009 20:40:29 +0000 (13:40 -0700)]
i965: Don't emit bad packets when no VBs are referenced.
It appears that sometimes Mesa (and I suppose a VS could as well) emits
a program which references no vertex data, and thus we end up with
nr_enabled == 0 even though some VBs are enabled. We'd end up emitting
VB/VE packet headers of 0xffffffff in that case, leading to GPU hangs.
Bug #22945 (wine with an uncompiled VS)
Eric Anholt [Mon, 3 Aug 2009 21:46:18 +0000 (14:46 -0700)]
i965: Calculate enabled[] and nr_enabled once and re-use the values.
The code duplication bothered me.
Robert Ellison [Mon, 3 Aug 2009 23:09:14 +0000 (17:09 -0600)]
typo fix
somehow, this change was missed on the last checkin
Robert Ellison [Mon, 3 Aug 2009 23:04:50 +0000 (17:04 -0600)]
mesa: fix up some GLAPI XML
- Added specifications for the extensions GL_APPLE_flush_buffer_range and
GL_APPLE_texture_range
- EXT_framebuffer_object.xml strangely held specifications for both
the GL_EXT_framebuffer_object extension and the GL_EXT_texture_array
extension. Split out the GL_EXT_texture_array data into its own
file.
Roland Scheidegger [Mon, 3 Aug 2009 22:21:07 +0000 (00:21 +0200)]
radeon: more fixes for compressed textures
- fix not respecting required hardware stride with compressedTexImage -
this fixes #22615.
- make sure correct stride is used in various places
- fix stored miptree never matching with a TexImage call with compressed
texture
- don't always store data with compressedtexsubimage at offset 0,
and actually use the supplied pixel data... (untested)
- make sure rows for compressed texture handling are rounded up not down
Note that trying to access stored compressed textures in hardware miptrees
from core mesa (get_compressed_teximage, swrast fallbacks) can't work correctly,
since RowStride isn't really set to anything useful, plus some places (at least
get_compressed_teximage) assume this data has native stride and no padding.