Jerome Glisse [Mon, 25 May 2009 13:47:39 +0000 (15:47 +0200)]
r200: emit scissor when dri2 is enabled
In DRI1 kernel emit scissor but in dri2 cs path we have to
explicitly program them.
Jerome Glisse [Mon, 25 May 2009 11:17:22 +0000 (13:17 +0200)]
r200: fix multitexturing in dri2 path
Jerome Glisse [Mon, 25 May 2009 09:29:32 +0000 (11:29 +0200)]
r200: emit cliprect with indexed primitive
Jerome Glisse [Sat, 23 May 2009 19:57:25 +0000 (21:57 +0200)]
radeon: realloc dma if needed after revalidate
Revalidate can trigger flushing and dma buffer deallocation,
so retry allocation on such case.
Nicolai Hähnle [Sun, 24 May 2009 12:55:51 +0000 (14:55 +0200)]
radeon: Remove drawable & readable from radeon_dri_mirror
The duplication of state data caused a crash due to double-free on destruction
of context, because a variable wasn't correctly null'ed out.
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Jerome Glisse [Fri, 22 May 2009 21:44:44 +0000 (23:44 +0200)]
radeon: reading back to scratch reg through status map doesn't work
For some unknown reasons the scratch reg value doesn't endup in the status
map at the scratch reg offset, this is a temporary work around until we
figure out why it doesn't work.
Jerome Glisse [Thu, 21 May 2009 11:49:15 +0000 (13:49 +0200)]
radeon: maxbuffer size is in bytes
Jerome Glisse [Wed, 20 May 2009 20:18:31 +0000 (22:18 +0200)]
r200: fix vbo array rendering
Michel Dänzer [Wed, 20 May 2009 14:39:33 +0000 (16:39 +0200)]
radeon: Increase reference count of current renderbuffers.
Fixes
glxinfo: main/renderbuffer.c:2159: _mesa_reference_renderbuffer: Assertion
`oldRb->Magic == 0xaabbccdd' failed.
Michel Dänzer [Wed, 20 May 2009 15:00:48 +0000 (17:00 +0200)]
Merge branch 'master' into radeon-rewrite
Conflicts:
src/mesa/drivers/dri/r300/r300_context.c
src/mesa/drivers/dri/r300/r300_texstate.c
Jerome Glisse [Wed, 20 May 2009 14:34:06 +0000 (16:34 +0200)]
radeon: set max texture size
This still need some work to actually report somethings reasonable
if no memory manager is available.
Jerome Glisse [Wed, 20 May 2009 11:21:24 +0000 (13:21 +0200)]
r200: fix indexed draw color order and cs missmatch
Brian Paul [Wed, 13 May 2009 01:51:44 +0000 (19:51 -0600)]
st: reformatting, comments, var renaming
Brian Paul [Tue, 19 May 2009 16:07:45 +0000 (10:07 -0600)]
Merge branch 'mesa_7_5_branch'
Mathias Fröhlich [Tue, 19 May 2009 15:59:01 +0000 (09:59 -0600)]
mesa: allow depth/stencil textures to be attached to GL_STENCIL_ATTACHMENT
See sourceforge bug #
2793846.
Brian Paul [Tue, 19 May 2009 15:57:01 +0000 (09:57 -0600)]
mesa: assign trb->Base.StencilBits in update_wrapper().
When we render to a depth/stencil texture there are stencil bits.
Brian Paul [Tue, 19 May 2009 15:21:27 +0000 (09:21 -0600)]
mesa: print more info when valid_texture_object() fails
Jakob Bornecrantz [Sat, 16 May 2009 02:13:15 +0000 (03:13 +0100)]
trace: Improve shader wrapping
Jakob Bornecrantz [Mon, 18 May 2009 01:50:15 +0000 (02:50 +0100)]
st/dri: Only create new textures if drawable has changed
Corbin Simpson [Mon, 18 May 2009 16:50:30 +0000 (09:50 -0700)]
r300-gallium: Fix (another) wrong value in MSPOS.
Again, thanks to agd5f.
Corbin Simpson [Mon, 18 May 2009 16:47:37 +0000 (09:47 -0700)]
radeon-gallium: Remove BO validation debug.
It appears that that area of code "just works" much like classic Mesa's
version, so might as well not waste scrollback on it.
Corbin Simpson [Mon, 18 May 2009 16:41:21 +0000 (09:41 -0700)]
r300-gallium: Cleanup viewport state setup.
Corbin Simpson [Mon, 18 May 2009 16:40:13 +0000 (09:40 -0700)]
r300-gallium: Always do VTE, never software viewport.
This makes glxgears draw properly with SW TCL.
Brian Paul [Mon, 18 May 2009 16:36:50 +0000 (10:36 -0600)]
Merge branch 'mesa_7_5_branch'
Conflicts:
Makefile
src/mesa/main/version.h
Brian Paul [Mon, 18 May 2009 16:28:04 +0000 (10:28 -0600)]
st/mesa: fix incorrect src/dst stride params to _mesa_generate_mipmap_level()
The stride needs to be in texels, not bytes.
Brian Paul [Mon, 18 May 2009 16:27:31 +0000 (10:27 -0600)]
mesa: comments for _mesa_generate_mipmap_level()
Brian Paul [Mon, 18 May 2009 16:13:44 +0000 (10:13 -0600)]
softpipe: add texture target sanity check assertion
Brian Paul [Mon, 18 May 2009 16:12:36 +0000 (10:12 -0600)]
st: fix incorrect target parameter to screen->is_format_supported()
We were passing a GL texture target instead of a pipe_texture_target enum.
Brian Paul [Mon, 18 May 2009 14:46:17 +0000 (08:46 -0600)]
mesa: added linux-osmesa-static config
Contributed by Nicolas Noble. See SF bug #
2792536
Brian Paul [Mon, 18 May 2009 13:17:46 +0000 (07:17 -0600)]
docs: link to 7.5 relnotes
Brian Paul [Mon, 18 May 2009 13:17:36 +0000 (07:17 -0600)]
docs: emphasize the incomplete status of the nouveau/R300 gallium drivers
Aidan Thornton [Mon, 18 May 2009 10:47:00 +0000 (12:47 +0200)]
Initialize psp->waitX/waitGL for swrast_dri.so.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21053 .
Jerome Glisse [Mon, 18 May 2009 08:13:05 +0000 (10:13 +0200)]
radeon: fix DRI1 cmd stream
Corbin Simpson [Mon, 18 May 2009 04:41:25 +0000 (21:41 -0700)]
r300-gallium: Enable GLSL for r500.
Before you get all excited, this is *not* to be construed as actual support
for GLSL shaders. The GL version is still 1.3, and stuff still sucks. Just
flicking it on so that it can be tested and developed a bit easier.
Corbin Simpson [Mon, 18 May 2009 04:40:16 +0000 (21:40 -0700)]
r300-gallium: r500-fs: DDX and DDY support.
Oh, look, GLSL instructions. I wonder what I'll do next.
Corbin Simpson [Mon, 18 May 2009 04:39:11 +0000 (21:39 -0700)]
dri-gallium: Add GLSL support.
Oh, look, it's more features. :3
Corbin Simpson [Mon, 18 May 2009 04:10:07 +0000 (21:10 -0700)]
r300-gallium: Add half-right COS and SIN.
HW trig does a premultiply by 2pi, where Mesa does another premultiply by pi.
This is a problem.
Corbin Simpson [Mon, 18 May 2009 03:49:39 +0000 (20:49 -0700)]
r300-gallium: Size mismatch.
Corbin Simpson [Mon, 18 May 2009 00:03:15 +0000 (17:03 -0700)]
r300-gallium, radeon-gallium: Nuke gb_pipes from orbit.
See the previous commit for an explanation. This is just all the support code
for GB_TILE_CONFIG.
Corbin Simpson [Sun, 17 May 2009 23:42:54 +0000 (16:42 -0700)]
r300-gallium: Don't set GB_TILE_CONFIG (in userspace.)
This accompanies kernel patches that make GB_TILE_CONFIG's various members
completely controlled in DRM.
GB_TILE_CONFIG has the following controls:
- The number of GB (pixel) pipes enabled
- The size and style of tiling
- Subpixel precision (either 1/12 or 1/16)
Per airlied and glisse, userspace and kernel will now agree (always) on
a subpixel precision of 1/12, and tiling will always be kernel-controlled.
Corbin Simpson [Sun, 17 May 2009 20:23:39 +0000 (13:23 -0700)]
r300-gallium: Clean up more invariant state.
GA_ENHANCE is now the kernel's problem.
Corbin Simpson [Sun, 17 May 2009 19:51:18 +0000 (12:51 -0700)]
r300-gallium: Update XXX.
Lops work fine as long as HW TCL is off. (I think I know why.)
Corbin Simpson [Sun, 17 May 2009 18:58:53 +0000 (11:58 -0700)]
r300-gallium: Correct default MSPOS.
Per agd5f.
Corbin Simpson [Sun, 17 May 2009 17:33:56 +0000 (10:33 -0700)]
r300-gallium: vs: Fix vert shader init.
Makes the last three commits suck much less. :3
Corbin Simpson [Sun, 17 May 2009 17:30:59 +0000 (10:30 -0700)]
r300-gallium: r500-fs: Enable depth writes, kinda.
Should work, but doesn't. Hm.
Corbin Simpson [Sun, 17 May 2009 16:44:14 +0000 (09:44 -0700)]
r300-gallium: Comment out useless debugging code.
Those parts are nearly solid compared to the shaders.
Corbin Simpson [Sun, 17 May 2009 16:39:06 +0000 (09:39 -0700)]
r300-gallium: vs: Dupe tokens, better debug, count spurious insts.
Corbin Simpson [Sat, 16 May 2009 18:17:05 +0000 (11:17 -0700)]
r300-gallium: Die on bad texture formats.
Odds are good that we'll die later anyway, so we might as well do it before
we start dancing on random memory.
Corbin Simpson [Sat, 16 May 2009 17:56:17 +0000 (10:56 -0700)]
r300-gallium: Update floating-point params too.
Even though we *can* render 10,000-pixel-wide lines, let's not advertise it.
Corbin Simpson [Sat, 16 May 2009 17:46:55 +0000 (10:46 -0700)]
r300-gallium: Update screen caps.
Anisotropic filtering should work, and OQ is broken.
Corbin Simpson [Sat, 16 May 2009 17:03:46 +0000 (10:03 -0700)]
intel-gallium: Fix trace_drm integration.
Compile-tested only, sorry.
Corbin Simpson [Sat, 16 May 2009 16:58:54 +0000 (09:58 -0700)]
Create common trace_drm code, add to radeon_winsys.
Corbin Simpson [Sat, 16 May 2009 15:47:36 +0000 (08:47 -0700)]
r300-gallium: Various cleanups leftover from before.
BEGIN/END_CS pair, a few asserts, and a slightly more correct VTE setup.
Keith Whitwell [Sat, 16 May 2009 16:25:26 +0000 (17:25 +0100)]
gallium: remove occlusion_count flag from depth-stencil state
Drivers can just keep track of whether they are within a query
by monitoring the begin/end query callbacks. The flag adds no
information beyond that.
Only softpipe was examining this flag -- it has been fixed up
and retested with demos/arbocclude.
Maciej Cencora [Thu, 14 May 2009 00:21:09 +0000 (02:21 +0200)]
r300: cleanup vertex program related functions
- move vertex program related functions to r300_vertprog.c
- use _mesa_bitcount instead of self-made bit_count function
- remove duplicated field in r300_vertex_shader_fragment.body union
- rename r300_vertex_shader_fragment to r300_vertex_shader_hw_code
- rename r300_vertex_program field native to error
- remove unnecessary r300_vertex_shader_state structure
- remove unused r300_vertex_program and r300_vertex_program_cont fields
- remove disabled code
Maciej Cencora [Wed, 13 May 2009 22:22:21 +0000 (00:22 +0200)]
r300: minor code movement
Maciej Cencora [Wed, 13 May 2009 22:10:52 +0000 (00:10 +0200)]
r300: more cleanup
- remove unnecessary r300TranslateFragmentShader call from r300UpdateShaderStates (it is already called in r300UpdateShaders)
- remove unnecessary null ptr checks
Maciej Cencora [Wed, 13 May 2009 21:58:21 +0000 (23:58 +0200)]
r300: move some code to common path
Maciej Cencora [Wed, 13 May 2009 21:49:04 +0000 (23:49 +0200)]
r300: rename functions
Be consistent with function naming: use Setup/Emit names for functions that modify hardware state
Maciej Cencora [Wed, 13 May 2009 21:09:39 +0000 (23:09 +0200)]
r300: move forward declarations to where they belong
Maciej Cencora [Thu, 14 May 2009 00:07:49 +0000 (02:07 +0200)]
r300: software fallbacking handling rewrite
Until now falling back to software rasterizer worked only for TCL enabled cards.
For non TCL cards we used to plug our rendering functions in r300InitSwtcl, and we had never restored original functions for software rasterizer.
Maciej Cencora [Wed, 13 May 2009 20:33:27 +0000 (22:33 +0200)]
r300: r300EmitArrays should never fail
Maciej Cencora [Wed, 13 May 2009 20:28:39 +0000 (22:28 +0200)]
r300: remove unnecessary switch cases
Maciej Cencora [Wed, 13 May 2009 20:24:57 +0000 (22:24 +0200)]
r300: further cleanup
- move extensions init into seperate function
- move options handling into seperate function
- create new structure to hold options values
- use context->options.hw_tcl_enabled field instead of global hw_tcl_on and future_hw_tcl_on variables
Jakob Bornecrantz [Sat, 16 May 2009 00:21:02 +0000 (01:21 +0100)]
gallium-intel: Enable trace driver
Jakob Bornecrantz [Sat, 16 May 2009 00:49:11 +0000 (01:49 +0100)]
trace: Export enabled status
Jakob Bornecrantz [Sat, 16 May 2009 00:19:44 +0000 (01:19 +0100)]
trace: Unwrap buffer in texture_blanket
Jakob Bornecrantz [Fri, 15 May 2009 03:59:24 +0000 (05:59 +0200)]
trace: If either shader is disabled don't draw
Jakob Bornecrantz [Fri, 15 May 2009 03:30:43 +0000 (05:30 +0200)]
trace: Put shaders on a list in the context
Jakob Bornecrantz [Fri, 15 May 2009 02:17:00 +0000 (04:17 +0200)]
trace: Move state dump functions to tr_dump_state.[c|h]
Eric Anholt [Sat, 16 May 2009 00:32:21 +0000 (17:32 -0700)]
intel: Don't complain on falling back from PBO fastpaths.
Instead, stash the debug info under the handy debug flag.
Bug #20053
Eric Anholt [Fri, 15 May 2009 23:24:59 +0000 (16:24 -0700)]
mesa: Mark FBOs with compressed color attachments as FBO-incomplete.
Both EXT_fbo and ARB_fbo agree on this. Fixes a segfault in the metaops
mipmap generation in Intel for SGIS_generate_mipmap of S3TC textures in
Regnum Online.
Bug #21654.
Jakob Bornecrantz [Fri, 15 May 2009 21:54:07 +0000 (22:54 +0100)]
gallium-intel: Build with scons
Jakob Bornecrantz [Fri, 15 May 2009 21:47:31 +0000 (22:47 +0100)]
st/egl: Use proper Makefile
Steinar H. Gunderson [Tue, 12 May 2009 18:32:03 +0000 (11:32 -0700)]
i915: Fix 945 cube map layout for the small mipmaps along the bottom.
Bug #21691.
Eric Anholt [Fri, 15 May 2009 19:32:51 +0000 (12:32 -0700)]
i915: Use Stencil.Enabled instead of Stencil._Enabled in DrawBuffers.
The _Enabled field isn't updated at the point that DrawBuffers is called,
and the Driver.Enable() function does the testing for stencil buffer
presence anyway.
bug #21608 for Radeon
Eric Anholt [Fri, 15 May 2009 18:41:42 +0000 (11:41 -0700)]
i915: Only use the new 945 cube layout for compressed textures.
The docs actually explain this, but not in a terribly clear manner.
This nearly fixes the piglit cubemap testcase, except that something's
going wrong with the nearest filtering at 2x2 sizes in the testcase.
Looks good by visual inspection, though.
Bug #21692
Brian Paul [Fri, 15 May 2009 14:03:56 +0000 (08:03 -0600)]
mesa: bump version to 7.5-rc2
Brian Paul [Fri, 15 May 2009 14:02:40 +0000 (08:02 -0600)]
docs: updates from the 7.4 branch
Eric Anholt [Thu, 14 May 2009 17:56:32 +0000 (10:56 -0700)]
i965: Fix varying payload reg assignment for the non-GLSL-instructions path.
I don't have a testcase for this, but it seems clearly wrong.
Eric Anholt [Thu, 14 May 2009 16:49:45 +0000 (09:49 -0700)]
i965: Fix register allocation of GLSL fp inputs.
Before, if the VP output something that is in the attributes coming into
the WM but which isn't used by the WM, then WM would end up reading subsequent
varyings from the wrong places. This was visible with a GLSL demo
using gl_PointSize in the VS and a varying in the WM, as point size is in
the VUE but not used by the WM. There is now a regression test in piglit,
glsl-unused-varying.
Eric Anholt [Thu, 14 May 2009 02:08:17 +0000 (19:08 -0700)]
intel: Use FRONT_AND_BACK for StencilOp as well.
Eric Anholt [Thu, 14 May 2009 01:18:29 +0000 (18:18 -0700)]
intel: Use GL_FRONT_AND_BACK for stencil clearing.
This comes from a radeon-rewrite fallback fix, but may also fix stencil
clear failure when the polygon winding mode is flipped.
Corbin Simpson [Thu, 14 May 2009 15:17:08 +0000 (08:17 -0700)]
r300-gallium: Correct VTE setup for surface_fill, make surface_copy emit right.
Robert Ellison [Thu, 14 May 2009 02:40:23 +0000 (20:40 -0600)]
i965: fix 1D texture borders with GL_CLAMP_TO_BORDER
With 1D textures, GL_TEXTURE_WRAP_T should be ignored (only
GL_TEXTURE_WRAP_S should be respected). But the i965 hardware
seems to follow the value of GL_TEXTURE_WRAP_T even when sampling
1D textures.
This fix forces GL_TEXTURE_WRAP_T to be GL_REPEAT whenever 1D
textures are used; this allows the texture to be sampled
correctly, avoiding "imaginary" border elements in the T direction.
This bug was demonstrated in the Piglit tex1d-2dborder test.
With this fix, that test passes.
Robert Ellison [Thu, 14 May 2009 02:38:33 +0000 (20:38 -0600)]
i965: send all warnings through _mesa_warning()
One warning message:
drm_i915_getparam: -22
was still being sent to fprintf(). This causes all Piglit tests to fail,
even with MESA_DEBUG=0.
Using _mesa_warning() to emit the message allows the general Mesa controls
for messages like this to be applied.
Jerome Glisse [Thu, 14 May 2009 15:24:19 +0000 (17:24 +0200)]
r300: don't send now forbidden register to kernel when with memory manager
Michel Dänzer [Thu, 14 May 2009 09:07:49 +0000 (11:07 +0200)]
r300: Make sure to drop current hardware state reference to texture objects.
Fixes potential texture object leaks.
Corbin Simpson [Thu, 14 May 2009 00:24:47 +0000 (17:24 -0700)]
r300-gallium: Clean up outdated comments.
Corbin Simpson [Thu, 14 May 2009 00:01:03 +0000 (17:01 -0700)]
r300-gallium: Space accounting for textures.
Alex Deucher [Wed, 13 May 2009 23:43:04 +0000 (19:43 -0400)]
R1xx/r2xx: Don't use an alpha texture format for GLX_TEXTURE_FORMAT_RGB_EXT
In r*00SetTexBuffer2(), if the passed in text glx_texture_format
is GLX_TEXTURE_FORMAT_RGB_EXT, then we should use an RGB-only
texture format, even if the DRI buffer has four channels.
https://bugs.freedesktop.org/show_bug.cgi?id=21609
Owen W. Taylor [Sat, 9 May 2009 19:23:34 +0000 (15:23 -0400)]
radeon: Don't crash generating mipmaps when pixels=NULL
When a NULL value of pixels is passed to TexImage2D and
SGIS_generate_mipmap is enabled, don't try to generate the
mipmap tree: we don't have data yet for the texture and will
crash.
https://bugs.freedesktop.org/show_bug.cgi?id=21648
Owen W. Taylor [Thu, 7 May 2009 02:42:50 +0000 (22:42 -0400)]
Don't use an alpha texture format for GLX_TEXTURE_FORMAT_RGB_EXT
In r300SetTexBuffer2(), if the passed in text glx_texture_format
is GLX_TEXTURE_FORMAT_RGB_EXT, then we should use an RGB-only
texture format, even if the DRI buffer has four channels.
https://bugs.freedesktop.org/show_bug.cgi?id=21609
Owen W. Taylor [Thu, 7 May 2009 02:45:33 +0000 (22:45 -0400)]
Call _mesa_update_stencil() before accessing ctx->Stencil._Enabled
ctx->Stencil._Enabled is derived state and not immediately updated
when the stencil parameters are changed; we need to make sure that
it is up-to-date before accessing it.
https://bugs.freedesktop.org/show_bug.cgi?id=21608
Owen W. Taylor [Fri, 8 May 2009 22:58:41 +0000 (18:58 -0400)]
Remove subpixel offset from viewport
Remove an eigth-pixel offset of the viewport inherited from
R100 code. This seems not to be necessary and causes blurring
when sampling textures 1:1.
https://bugs.freedesktop.org/show_bug.cgi?id=20340
Brian Paul [Wed, 13 May 2009 17:33:52 +0000 (11:33 -0600)]
Merge branch 'mesa_7_5_branch'
Brian Paul [Wed, 13 May 2009 17:31:35 +0000 (11:31 -0600)]
intel: added null ptr check
Fixes segfault in context tear-down when glClear was never called.
Brian Paul [Wed, 13 May 2009 17:24:11 +0000 (11:24 -0600)]
docs: GL_APPLE_vertex_array_object for Gallium drivers and Intel DRI drivers
Brian Paul [Wed, 13 May 2009 17:19:00 +0000 (11:19 -0600)]
intel: enable GL_APPLE_vertex_array_object
No special driver changes are needed for this extension.
Brian Paul [Wed, 13 May 2009 17:15:00 +0000 (11:15 -0600)]
st/mesa: enable GL_APPLE_vertex_array_object for gallium drivers