Chris Wilson [Wed, 4 Feb 2009 20:59:22 +0000 (20:59 +0000)]
intel: Decode MI operands using specific length masks
The MI opcodes have different variable length masks, so use an operand
specific mask to decode the length.
Chris Wilson [Wed, 4 Feb 2009 20:25:08 +0000 (20:25 +0000)]
intel: Correct decoding of 3DSTATE_PIXEL_SHADER_CONSTANTS
A couple of minor typos that proclaimed an error in the wrong command, and
failed to offset the mask.
Eric Anholt [Wed, 4 Feb 2009 18:27:13 +0000 (10:27 -0800)]
intel: Fix fbo_firecube regression with FBconfigs change.
By selecting a 4444 texture format due to a bad test, we hit the
intel_update_wrapper error path, and despite the appearance of error handling
in it and its callers, the desired behavior (software fallback) doesn't occur.
Maciej Cencora [Wed, 4 Feb 2009 12:26:09 +0000 (13:26 +0100)]
r300: make the macros safe. add missing parenthesis.
Maciej Cencora [Sat, 24 Jan 2009 13:58:17 +0000 (14:58 +0100)]
r300: Fix EXP2 fog
Eric Anholt [Wed, 4 Feb 2009 04:04:24 +0000 (20:04 -0800)]
intel: Fix commented-out glViewport in intel_meta_set_passthrough_transform.
Too much commit -a while debugging.
Eric Anholt [Wed, 4 Feb 2009 03:29:11 +0000 (19:29 -0800)]
swrast: Add support for x8r8g8b8 fbconfig.
This lets swrast produce an fbconfig suitable for the root visual now that
the server's not allowing mismatched fbconfigs.
Brian Paul [Tue, 3 Feb 2009 17:13:22 +0000 (10:13 -0700)]
docs: document new MESA_GLX_FORCE_DIRECT env var for the Xlib driver
Brian Paul [Tue, 3 Feb 2009 17:12:51 +0000 (10:12 -0700)]
xlib: use MESA_GLX_FORCE_DIRECT to make glXIsDirect() always return True
Some apps won't run w/ indirect rendering contexts.
Also, consolidate some context-init code in new init_glx_context() function.
Brian Paul [Tue, 3 Feb 2009 16:21:32 +0000 (09:21 -0700)]
mesa: simplify delete_wrapper()
Brian Paul [Tue, 3 Feb 2009 22:17:26 +0000 (15:17 -0700)]
demos: modify bufferobj.c to exercise interleaved vertex arrays
Also, put colors before vertex positions, and place the data at a 40-byte
offset from the start of the buffer.
Brian Paul [Mon, 2 Feb 2009 23:50:45 +0000 (16:50 -0700)]
demos: update multitex.c GLSL demo to use vertex arrays or glVertex-mode
Press 'a' to toggle drawing mode.
Brian Paul [Mon, 2 Feb 2009 23:47:51 +0000 (16:47 -0700)]
util: added more functions to extfuncs.h
Brian Paul [Mon, 2 Feb 2009 23:33:08 +0000 (16:33 -0700)]
mesa: fix GLSL issue preventing use of all 16 generic vertex attributes
Only 15 actually worked before since we always reserved generic[0] as an
alias for vertex position.
The case of vertex attribute 0 is tricky. The spec says that there is no
aliasing between generic vertex attributes 0..MAX_VERTEX_ATTRIBS-1 and the
conventional attributes. But it also says that calls to glVertexAttrib(0, v)
are equivalent to glVertex(v). The distinction seems to be in glVertex-mode
versus vertex array mode.
So update the VBO code so that if the shader uses generic[0] but not gl_Vertex,
route the attribute data set with glVertex() to go to shader input generic[0].
No change needed for the glDrawArrays/Elements() path.
This is a potentially risky change so regressions are possible. All the usual
tests seem OK though.
Brian Paul [Mon, 2 Feb 2009 23:29:08 +0000 (16:29 -0700)]
glsl: update program->InputsRead when referencing input attributes
This info will be used in the linker for allocating generic vertex attribs.
Brian Paul [Mon, 2 Feb 2009 19:24:58 +0000 (12:24 -0700)]
mesa: fix stand-alone glslcompiler
Brian Paul [Mon, 2 Feb 2009 19:24:41 +0000 (12:24 -0700)]
mesa: make _mesa_fprint_program_opt() non-static
Eric Anholt [Fri, 30 Jan 2009 22:32:23 +0000 (14:32 -0800)]
i965: Remove brw->attribs now that we can just always look in the GLcontext.
Eric Anholt [Fri, 30 Jan 2009 22:18:03 +0000 (14:18 -0800)]
i965: Delete old metaops code now that there are no remaining consumers.
Eric Anholt [Thu, 29 Jan 2009 23:49:30 +0000 (15:49 -0800)]
intel: replace custom metaops clear with generic.
No real-world impact on performance seen. Even glxgears seems to be, if
anything, happier.
Eric Anholt [Fri, 30 Jan 2009 21:23:12 +0000 (13:23 -0800)]
dri2: Avoid round-tripping on DRI2GetBuffers for the same set of buffers.
We only wanted to request when asked for the same set of buffers when a resize
has happened. We can just watch the protocol stream for a ConfigureNotify
and flag to do it then.
This is about a 5% win from doing two glViewport()s per frame in openarena.
Brian Paul [Mon, 2 Feb 2009 14:48:10 +0000 (07:48 -0700)]
mesa: move code after decls. Fixes Window build failure.
Ian Romanick [Sun, 1 Feb 2009 19:54:42 +0000 (11:54 -0800)]
glxgears: No, really. Fix the dyslexia.
Eric Anholt [Sat, 31 Jan 2009 18:32:34 +0000 (10:32 -0800)]
intel: Correct FBconfig color masks with DRI2. Fail at copy and paste.
This still leaves us with a broken depth 32 visual, but now it's the server's
visual setup that's at fault.
Eric Anholt [Fri, 30 Jan 2009 23:56:01 +0000 (15:56 -0800)]
Build dri.pc during the build rather than the install process.
In a normal build system this is generated by configure.
Brian [Sat, 31 Jan 2009 19:10:41 +0000 (12:10 -0700)]
mesa: more display list cleanups
Remove some unneeded fields. Rename some function parameters.
Brian [Sat, 31 Jan 2009 18:57:22 +0000 (11:57 -0700)]
mesa: display list clean-ups
Rename some structs and fields to be more consistant with the rest of mesa.
Brian [Sat, 31 Jan 2009 18:39:28 +0000 (11:39 -0700)]
mesa: minor comments, clean-ups
Brian [Sat, 31 Jan 2009 18:22:16 +0000 (11:22 -0700)]
mesa: remove remnant of GL_SGIX_depth_texture
Keith Packard [Sat, 31 Jan 2009 05:51:32 +0000 (21:51 -0800)]
i965: bump texture limit to 4kx4k
Rendering and textures are limited to 8kx8k, but mesa limits things to
4kx4k, and magic guard band stuff may break on 8kx8k drawing. This is safe
though, and makes compiz work on bigger screens.
Signed-off-by: Keith Packard <keithp@keithp.com>
Brian Paul [Fri, 30 Jan 2009 22:51:58 +0000 (15:51 -0700)]
mesa: simplify the _mesa_get_proxy_tex_image() function
Brian Paul [Fri, 30 Jan 2009 22:50:43 +0000 (15:50 -0700)]
mesa: fix incorrect call to clear_teximage_fields() in _mesa_TexImage2D()
Fixes failed assertion / segfault for particular proxy texture tests.
Brian Paul [Fri, 30 Jan 2009 16:58:02 +0000 (09:58 -0700)]
intel: more debug info
Brian Paul [Fri, 30 Jan 2009 16:50:26 +0000 (09:50 -0700)]
i965: formatting, comments, whitespace clean-ups
Brian Paul [Thu, 29 Jan 2009 23:05:39 +0000 (16:05 -0700)]
swrast: replace RENDER_START/FINISH macros with inline functions
Brian Paul [Thu, 29 Jan 2009 22:56:19 +0000 (15:56 -0700)]
swrast: replace macro with inline function
Brian Paul [Thu, 29 Jan 2009 22:40:43 +0000 (15:40 -0700)]
intel: remove unused RenderToTexture field
Brian Paul [Thu, 29 Jan 2009 22:40:21 +0000 (15:40 -0700)]
i915: updated render to texture/fbo test
Ian Romanick [Fri, 30 Jan 2009 22:55:42 +0000 (14:55 -0800)]
Fix dyslexia.
Ian Romanick [Fri, 30 Jan 2009 22:43:03 +0000 (14:43 -0800)]
glxgears: Log a message if synched to vblank
Tries to use either GLX_MESA_swap_control or GLX_SGI_video_sync to
detect whether the display is synchronized to the vertical blank. If
it detects this, a message will be printed. HOPEFULLY this will
prevent some of the bug reports such as "glxgears only gets 59.7fps.
What's wrong with my driver?"
Brian Paul [Fri, 30 Jan 2009 22:34:55 +0000 (15:34 -0700)]
mesa: add missing _mesa_reference_texobj() calls for texture array targets
Brian Paul [Fri, 30 Jan 2009 22:24:13 +0000 (15:24 -0700)]
mesa: remove incorrect refcounting adjustment in adjust_buffer_object_ref_counts()
Fixes bug 19835. However, a more elaborate fix should be implemented someday
which uses proper reference counting for gl_array_object.
Eric Anholt [Fri, 30 Jan 2009 19:24:04 +0000 (11:24 -0800)]
intel: If we're doing a depth clear with tris, do color with it.
This is a 10% win on the ever-important glxgears not-a-benchmark.
Eric Anholt [Fri, 30 Jan 2009 00:45:08 +0000 (16:45 -0800)]
i915: Only call CalcViewport from DrawBuffers instead of Viewport.
This saves an inadvertent round-trip to the X Server on DrawBuffers, which was
hurting some metaops.
Eric Anholt [Thu, 29 Jan 2009 22:57:49 +0000 (14:57 -0800)]
intel: Expose more FBconfigs in the 3D driver.
We can support any combination of (a8r8g8b8, x8r8g8b8, r5g6b5) x (z0,z24,z24s8)
on either class of chipsets. The only restriction is no mixing bpp when also
mixing tiling. This shouldn't be occurring currently.
Ian Romanick [Fri, 30 Jan 2009 21:25:48 +0000 (13:25 -0800)]
Remove stale symlinks to intel/intel_depthstencil.c
Dan Nicholson [Fri, 30 Jan 2009 18:52:09 +0000 (10:52 -0800)]
autoconf: Use include-fixed directory with makedepend on newer GCC
On newer GCC releases, the compiler's headers have been split between
the include and include-fixed directories. Add both if the directories
exist.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Brian Paul [Thu, 29 Jan 2009 22:07:32 +0000 (15:07 -0700)]
intel: remove unused intel_depthstencil.[ch]
Brian Paul [Thu, 29 Jan 2009 22:06:55 +0000 (15:06 -0700)]
intel: remove unused #includes
Brian Paul [Thu, 29 Jan 2009 22:01:09 +0000 (15:01 -0700)]
mesa: allow glFramebufferTexture1/2/3D(target = GL_READ/DRAW_FRAMEBUFFER)
This is part of GL_EXT_framebuffer_blit and GL_ARB_framebuffer_obbject.
Brian Paul [Thu, 29 Jan 2009 21:57:31 +0000 (14:57 -0700)]
intel: formatting clean-ups
Brian Paul [Thu, 29 Jan 2009 21:57:16 +0000 (14:57 -0700)]
intel: fix check for Y orientation in span functions.
Brian Paul [Thu, 29 Jan 2009 18:10:56 +0000 (11:10 -0700)]
i965: use bitfields in brw_sf_unit_key struct
Brian Paul [Thu, 29 Jan 2009 18:07:55 +0000 (11:07 -0700)]
intel: remove unused intel_rendering_to_texture()
Brian Paul [Thu, 29 Jan 2009 18:07:14 +0000 (11:07 -0700)]
i965: fix render to FBO/texture orientation bugs
Anytime we're not rendering to the default/window FBO, need to invert
rendering, not just when rendering to a texture. Otherwise, if a FBO
consists of a mix of textures and renderbuffers the up/down orientation
was inconsistant.
Fixes shadowtex.c bad rendering.
Brian Paul [Thu, 29 Jan 2009 16:20:18 +0000 (09:20 -0700)]
mesa: fix a render to texture FBO validation bug
When glTexImage() is called we need to re-validate any FBOs that point to
the texture (i.e. render-to-texture) since changing the texture's size/format
will effect FBO completeness.
We don't keep a list of all FBOs rendering into each texture (which would be
a bit messy) so we check all FBOs in existance. To optimize this, the
gl_texture_object->_RenderToTexture flag is used to avoid checking textures
that have never been used as renderbuffers. So, we only walk over all FBOs
(there's usually only a few) when glTexImage() modifies a RTT texture.
Fixes a bug seen in shadowtex.c when toggling packed depth/stencil mode.
Ian Romanick [Wed, 28 Jan 2009 07:44:18 +0000 (23:44 -0800)]
intel: Fix up some extension string issues
Move the remaining extension string enables to intel_extensions.c.
Make sure that GL_NV_texture_env_combine4 is not enabled on i830.
Ian Romanick [Wed, 28 Jan 2009 03:12:24 +0000 (19:12 -0800)]
Make GLX_SGIX_pbuffer mandatory
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 28 Jan 2009 03:10:43 +0000 (19:10 -0800)]
Make GL_ARB_draw_buffers mandatory
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 28 Jan 2009 02:16:51 +0000 (18:16 -0800)]
Make GL_{EXT,SUN}_multi_draw_arrays and GL_IBM_multimode_draw_arrays mandatory
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 28 Jan 2009 02:04:12 +0000 (18:04 -0800)]
Make GL_ARB_vertex_buffer_object mandatory
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 28 Jan 2009 01:50:45 +0000 (17:50 -0800)]
Make GL_ARB_multisample mandatory
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Wed, 28 Jan 2009 01:36:03 +0000 (17:36 -0800)]
Make GL_ARB_texture_compression mandatory
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Wed, 28 Jan 2009 23:49:28 +0000 (16:49 -0700)]
mesa: remove GL_SGIX_shadow, GL_SGIX_shadow_ambient and GL_SGIX_depth_texture
Everyone should be using the newer/better ARB versions of these extensions.
Brian Paul [Wed, 28 Jan 2009 22:06:54 +0000 (15:06 -0700)]
docs: document GL_EXT_texture_swizzle
Brian Paul [Wed, 28 Jan 2009 21:51:35 +0000 (14:51 -0700)]
i965: minor tweak: replace OPCODE_MOV with OPCODE_SWZ
Just to reinforce the understanding that an extended swizzle with 0 and 1
terms is possible there.
Brian Paul [Wed, 28 Jan 2009 21:50:03 +0000 (14:50 -0700)]
i965: implement GL_EXT_texture_swizzle
If the texture swizzle is not XYZW (no-op) add an extra MOV instruction
after the TEX instruction to rearrange the components.
Brian Paul [Wed, 28 Jan 2009 21:48:41 +0000 (14:48 -0700)]
i965: minor clean-up, comments, etc.
Brian Paul [Wed, 28 Jan 2009 21:45:18 +0000 (14:45 -0700)]
Merge commit 'origin/master' into texture_swizzle
Brian Paul [Wed, 28 Jan 2009 21:35:58 +0000 (14:35 -0700)]
i965: fix bug in pass0_precalc_mov()
Previously, "in-place" swizzles such as:
MOV t, t.xxyx;
were handled incorrectly. Fixed by splitting the one loop into two loops so we
get all the refs before assigning them (to avoid potential clobbering).
Brian Paul [Wed, 28 Jan 2009 21:33:07 +0000 (14:33 -0700)]
i965: minor comment additions/edits
Brian Paul [Wed, 28 Jan 2009 18:42:42 +0000 (11:42 -0700)]
i965: minor improvements in brw_wm_populate_key()
Brian Paul [Wed, 28 Jan 2009 18:38:42 +0000 (11:38 -0700)]
i965: remove pad field
Brian Paul [Wed, 28 Jan 2009 18:37:11 +0000 (11:37 -0700)]
i965: widen per-texture bitfields for 16 texture image units
Brian Paul [Wed, 28 Jan 2009 18:36:39 +0000 (11:36 -0700)]
i965: minor comments
Brian Paul [Wed, 28 Jan 2009 17:44:04 +0000 (10:44 -0700)]
mesa: additional GL_INVALID_OPERATION tests for texture swizzle
Brian Paul [Wed, 28 Jan 2009 17:31:05 +0000 (10:31 -0700)]
mesa: implement texture swizzling in swrast
And enable GL_EXT_texture_swizzle for software drivers.
Brian Paul [Wed, 28 Jan 2009 17:27:33 +0000 (10:27 -0700)]
mesa: set/get new state for GL_EXT_texture_swizzle
Brian Paul [Wed, 28 Jan 2009 16:16:11 +0000 (09:16 -0700)]
mesa: if texObj is NULL in fetch_texel_*(), return black.
Eric Anholt [Tue, 27 Jan 2009 22:34:29 +0000 (14:34 -0800)]
dri2: add complaints for more initialization failures.
Somehow we're running into DRI2Authenticate failing, and silent demotion to
swrast is bad.
Eric Anholt [Tue, 27 Jan 2009 20:05:47 +0000 (12:05 -0800)]
intel: clean up more pf mess.
Brian Paul [Tue, 27 Jan 2009 18:07:21 +0000 (11:07 -0700)]
mesa: refactor glTexParameter code
Brian Paul [Tue, 27 Jan 2009 16:49:27 +0000 (09:49 -0700)]
mesa: move call to _mesa_update_framebuffer_visual()
Update the visual info in the _mesa_test_framebuffer_completeness()
function when we've determined the FBO to be "complete".
Fixes regression seen in progs/demos/shadowtex.c
Brian Paul [Tue, 27 Jan 2009 00:23:59 +0000 (17:23 -0700)]
i915: rename some functions
Brian Paul [Mon, 26 Jan 2009 23:40:08 +0000 (16:40 -0700)]
intel: replace i915/intel_state.c and i965/intel_state.c with shared file
Brian Paul [Mon, 26 Jan 2009 23:38:01 +0000 (16:38 -0700)]
intel: whitespace changes
Brian Paul [Mon, 26 Jan 2009 23:33:45 +0000 (16:33 -0700)]
intel: move some driver functions around
A step toward consolidating i915/intel_state.c and i965/intel_state.c
Brian Paul [Mon, 26 Jan 2009 21:22:30 +0000 (14:22 -0700)]
intel: check if stencil test is enabled in intel_stencil_drawpixels()
Brian Paul [Mon, 26 Jan 2009 21:01:32 +0000 (14:01 -0700)]
intel: save/restore GL matrix mode in intel_meta_set_passthrough_transform(), intel_meta_restore_transform()
Brian Paul [Mon, 26 Jan 2009 19:44:05 +0000 (12:44 -0700)]
intel: asst. casts to silence warnings
Brian Paul [Mon, 26 Jan 2009 19:38:46 +0000 (12:38 -0700)]
intel: #include clean-ups
Brian Paul [Mon, 26 Jan 2009 19:37:14 +0000 (12:37 -0700)]
intel: remove old #includes
Brian Paul [Mon, 26 Jan 2009 19:36:17 +0000 (12:36 -0700)]
intel: make intelUpdateScreenFromSAREA() static
Brian Paul [Mon, 26 Jan 2009 19:33:58 +0000 (12:33 -0700)]
intel: remove unused var
Brian Paul [Mon, 26 Jan 2009 19:22:04 +0000 (12:22 -0700)]
intel: move intelInitExtensions() and related code into new intel_extensions.c
Brian Paul [Mon, 26 Jan 2009 19:02:25 +0000 (12:02 -0700)]
intel: move glClear-related code into new intel_clear.c file
Brian Paul [Mon, 26 Jan 2009 18:53:06 +0000 (11:53 -0700)]
intel: Move swap-related functions from intel_buffers.c to new intel_swapbuffers.c
Brian Paul [Mon, 26 Jan 2009 18:38:30 +0000 (11:38 -0700)]
i965: scissor rect was inverted when rendering to texture
Robert Ellison [Mon, 26 Jan 2009 17:22:34 +0000 (10:22 -0700)]
mesa: add missing texture_put_row_rgb() function in texrender.c
The wrap_texture() function doesn't set the renderbuffer PutRowRGB() method,
which is used to implement DrawPixels(). This fix adds an implementation
of this method.
Brian Paul [Sat, 24 Jan 2009 00:40:24 +0000 (17:40 -0700)]
docs: added GL_NV_texture_env_combine4