Jerome Glisse [Thu, 27 May 2010 21:21:12 +0000 (23:21 +0200)]
r600g: disable rendering
Disable rendering to avoid GPU lockup.
Use radeondb to debug shader compiler :
radeondb -c gallium.bof
radeondb -s gallium.json
Will print shader generated, best is to use fp demos to test
the compiler.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Bas Nieuwenhuizen [Wed, 19 May 2010 16:46:45 +0000 (18:46 +0200)]
r600g: various fixes
- enabled flushing a buffer more than once
- enabled the blitter for r600_clear
- added some more colors to r600_is_format_supported (copied from r600_conv_pipe_format)
- r600_set_framebuffer_state now sets rctx->fb_state
- more states are saved before a blit (had to add some accounting for the viewport and the vertex elements state)
- fixed a few errors with reference counting
Jerome Glisse [Thu, 27 May 2010 20:55:18 +0000 (22:55 +0200)]
r600g: fix driver + shader compiler backend change
Change the way we translate from c_compiler to the
asic specific representation. Should make things
simpler.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Jakob Bornecrantz [Thu, 13 May 2010 19:29:18 +0000 (20:29 +0100)]
r600g: Integrate into build
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
Jakob Bornecrantz [Thu, 13 May 2010 19:27:19 +0000 (20:27 +0100)]
r600g: Fix buffer offsets
Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
Marek Olšák [Mon, 10 May 2010 01:27:58 +0000 (03:27 +0200)]
r600g: adapt to latest interfaces changes
- Wrapped the buffer and texture create/destroy/transfer/... functions
using u_resource, which is then used to implement the resource functions.
- Implemented texture transfers.
I left the buffer and texture transfers separate because one day we'll
need a special codepath for textures.
- Added index_bias to the draw_*elements functions.
- Removed nonexistent *REP and *FOR instructions.
- Some pipe formats have changed channel ordering, so I've removed/fixed
nonexistent ones.
- Added stubs for create/set/destroy sampler views.
- Added a naive implementation of vertex elements state (new CSO).
- Reworked {texture,buffer}_{from,to}_handle.
- Reorganized winsys files, removed dri,egl,python directories.
- Added a new build target dri-r600.
Jerome Glisse [Sat, 8 May 2010 20:09:24 +0000 (21:09 +0100)]
r600g: Initial import
Brian Paul [Thu, 27 May 2010 20:55:58 +0000 (14:55 -0600)]
llvmpipe: s/bool/boolean/
Brian Paul [Thu, 27 May 2010 20:54:21 +0000 (14:54 -0600)]
llvmpipe: s/bool/boolean
Brian Paul [Thu, 27 May 2010 18:30:45 +0000 (12:30 -0600)]
sw/xlib: avoid dereferencing a null pointer
Brian Paul [Thu, 20 May 2010 18:42:40 +0000 (12:42 -0600)]
gallivm: add assertions to check type of phi variables
Brian Paul [Thu, 27 May 2010 19:05:23 +0000 (13:05 -0600)]
mesa: fix incorrect GL_DEPTH_STENCIL_ATTACHMENT format check
We want to check the incoming renderbuffer format, not the (potentially
non-existant) current attachment.
Fixes segfault w/ fbotexture -ds2.
NOTE: this will be applied to the 7.8 branch too.
Marek Olšák [Thu, 27 May 2010 17:11:56 +0000 (19:11 +0200)]
r300g/swtcl: fix secondary color and back-face color outputs
These piglit tests have been fixed:
- bgra-sec-color-pointer
- glsl-routing
See comments at the beginning of r300_vs_draw.c
WPOS is implemented too but it doesn't work yet. I'm still working on it.
José Fonseca [Thu, 27 May 2010 18:40:10 +0000 (19:40 +0100)]
llvmpipe: Refer to my personal udis86 repository.
As it has a bunch of fixes/additions not merged by upstream yet.
José Fonseca [Thu, 27 May 2010 18:29:18 +0000 (19:29 +0100)]
util: Also add a define for the dynamic library's prefix.
Brian Paul [Thu, 27 May 2010 18:04:43 +0000 (12:04 -0600)]
egl/mks: remove extra param from function call
Brian Paul [Thu, 27 May 2010 18:04:08 +0000 (12:04 -0600)]
egl_g3d: add missing param to egl_g3d_st_manager_get_egl_image()
Brian Paul [Thu, 27 May 2010 15:45:29 +0000 (09:45 -0600)]
fbdev: some hacking to get the driver to compile (untested)
Brian Paul [Thu, 27 May 2010 15:39:59 +0000 (09:39 -0600)]
update linux-fbdev config
Brian Paul [Thu, 27 May 2010 15:30:55 +0000 (09:30 -0600)]
vbo: comments and whitespace
Brian Paul [Thu, 27 May 2010 15:30:43 +0000 (09:30 -0600)]
vbo: remove unused prototype
Brian Paul [Thu, 27 May 2010 15:25:07 +0000 (09:25 -0600)]
vbo: remove dead code
Brian Paul [Thu, 27 May 2010 15:24:43 +0000 (09:24 -0600)]
vbo: update/add comments
Vinson Lee [Thu, 27 May 2010 15:10:31 +0000 (08:10 -0700)]
mesa: Remove unnecessary headers.
Kristian Høgsberg [Thu, 27 May 2010 01:33:18 +0000 (21:33 -0400)]
egl: Return NULL if we fail to load a default driver
Brian Paul [Thu, 27 May 2010 04:42:13 +0000 (22:42 -0600)]
mesa: remove unused includes
Brian Paul [Thu, 27 May 2010 04:40:38 +0000 (22:40 -0600)]
mesa: rewrite _mesa_get_handle() and add some comments
Brian Paul [Thu, 27 May 2010 04:24:58 +0000 (22:24 -0600)]
mesa: move GLSL uniform functions into new source file
Vinson Lee [Thu, 27 May 2010 03:12:33 +0000 (20:12 -0700)]
st/mesa: Remove unnecessary headers.
Will Dyson [Tue, 25 May 2010 05:10:21 +0000 (01:10 -0400)]
Enable hardware mipmap generation for radeon.
Use _mesa_meta_GenerateMipmap. It is Fast Enough(tm).
Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Will Dyson [Tue, 25 May 2010 05:10:20 +0000 (01:10 -0400)]
Fix image_matches_texture_obj() MaxLevel check
When generating or uploading a new (higher) mipmap level for an image,
we can need to allocate a miptree for a level greater than
texObj->MaxLevel.
Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Will Dyson [Tue, 25 May 2010 05:10:19 +0000 (01:10 -0400)]
Fallback to software render if there is no miptree for an image
This can happen when checking if a software fallback for a higher level
operation (such as GenerateMipmap) is needed.
Signed-off-by: Maciej Cencora <m.cencora@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Marek Olšák [Wed, 26 May 2010 21:47:27 +0000 (23:47 +0200)]
r300g: decouple drawing code and two-sided stencil refvalue fallback
It's now more separate from the rest of the driver and it can be disabled
by commenting out just 1 line. Well, I couldn't make the previous version
work with SW TCL reliably, that's the reason of this little rework.
Marek Olšák [Wed, 26 May 2010 20:21:21 +0000 (22:21 +0200)]
r300g/swtcl: handle large index count properly
This fixes piglit/draw-elements.
Marek Olšák [Wed, 26 May 2010 18:59:46 +0000 (20:59 +0200)]
r300g/swtcl: force vertex prefetching for non-indexed primitives
Marek Olšák [Wed, 26 May 2010 18:53:56 +0000 (20:53 +0200)]
r300g/swtcl: move emitting AOS to prepare_for_rendering
Marek Olšák [Wed, 26 May 2010 17:36:21 +0000 (19:36 +0200)]
r300g/swtcl: vbo transfer sanity checks
Marek Olšák [Wed, 26 May 2010 17:29:58 +0000 (19:29 +0200)]
r300g: add get_cs_info winsys entrypoint, abandon check_cs
Marek Olšák [Wed, 26 May 2010 16:21:59 +0000 (18:21 +0200)]
r300g/swtcl: do not use u_upload_mgr and do not compute max_index
Marek Olšák [Wed, 26 May 2010 15:56:13 +0000 (17:56 +0200)]
r300g: remove unnecessary includes
Eric Anholt [Tue, 25 May 2010 22:32:54 +0000 (15:32 -0700)]
i965: Add support for EXT_timer_query on Ironlake.
We could potentially do this on G45 as well, though the units are
different. On 965, the timestamp is tied to hclk, which would make
supporting it harder.
Eric Anholt [Tue, 25 May 2010 21:48:34 +0000 (14:48 -0700)]
intel: Handle decode of PIPE_CONTROL instructions.
Eric Anholt [Mon, 24 May 2010 04:12:56 +0000 (21:12 -0700)]
i965: Move Gen6 debugging emit_mi_flush into the Gen6 block.
Eric Anholt [Mon, 24 May 2010 04:00:13 +0000 (21:00 -0700)]
i965: Don't PIPE_CONTROL instruction cache flush.
This is a workaround for Ironlake errata. The emit_mi_flush is used
for a few purposes:
1) Flushing write caches for RTT (including blit to texture)
2) Pipe fencing for sync objects
3) Spamming cache flushes to track down cache flush bugs
Spamming cache flushes seems less important than following the docs,
and we should probably do that with a different mechanism than the one
for render cache flushes.
Eric Anholt [Mon, 24 May 2010 03:25:02 +0000 (20:25 -0700)]
i965: Emit MI_FLUSH before PSP on Ironlake for clip max threads errata.
Vinson Lee [Wed, 26 May 2010 18:13:23 +0000 (11:13 -0700)]
gallivm: Remove unnecessary headers.
Vinson Lee [Wed, 26 May 2010 17:59:57 +0000 (10:59 -0700)]
st/xorg: Remove unnecessary headers.
Vinson Lee [Wed, 26 May 2010 17:53:54 +0000 (10:53 -0700)]
util: Remove unnecessary headers.
Vinson Lee [Wed, 26 May 2010 17:24:36 +0000 (10:24 -0700)]
st/dri: Remove dri.c from SCons build.
This was missed in commit
f501230db3a94c9328b8e769d9c17b2c3792e19c.
Fixes SCons build.
Kristian Høgsberg [Wed, 26 May 2010 15:32:36 +0000 (11:32 -0400)]
Revert the 'make static' part of
962f92611216e304c95e7c089b38d58066236014
The es1 and es2 dispath table initialization code is generated from the
API XML files and we can't easily share the dispatch table code setup.
Keep the _mesa_init_shader_dispatch() part of the patch, but roll back
the static-ization of shader entrypoints so es1 and es2 dispatch
initialization still works.
Marek Olšák [Wed, 26 May 2010 14:39:14 +0000 (16:39 +0200)]
r300g: fix fence referencing
Brian Paul [Wed, 26 May 2010 03:42:13 +0000 (21:42 -0600)]
mesa: move all vertex array functions into varray.c
Brian Paul [Wed, 26 May 2010 03:13:06 +0000 (21:13 -0600)]
mesa: added _mesa_GetVertexAttribIiv / AttribIuiv()
Refactor the code for all the glGetVertexAttrib() functions.
Brian Paul [Wed, 26 May 2010 03:12:24 +0000 (21:12 -0600)]
mesa: added _mesa_VertexAttribIPointer()
Brian Paul [Wed, 26 May 2010 02:28:39 +0000 (20:28 -0600)]
mesa: new GL 3.0 VertexAttrib commands
Still need to plug in API dispatch...
Brian Paul [Wed, 26 May 2010 02:10:09 +0000 (20:10 -0600)]
mesa: make a bunch of shader API functions static
Brian Paul [Wed, 26 May 2010 01:20:32 +0000 (19:20 -0600)]
mesa: display list support for uint uniforms
Still need to plug into dispatcher...
Brian Paul [Wed, 26 May 2010 00:51:45 +0000 (18:51 -0600)]
mesa: consolidate some glUniform code
Brian Paul [Wed, 26 May 2010 00:40:09 +0000 (18:40 -0600)]
mesa: unsigned int uniform functions (GL3)
Brian Paul [Wed, 26 May 2010 00:39:47 +0000 (18:39 -0600)]
mesa: support for unsigned int uniforms
Marek Olšák [Wed, 26 May 2010 02:36:29 +0000 (04:36 +0200)]
r300/compiler: implement SGT+SLE opcodes
Reported-by: Gianluca Anzolin <gianluca@sottospazio.it>
Marek Olšák [Wed, 26 May 2010 02:20:18 +0000 (04:20 +0200)]
r300/compiler: fix dumping r5xx vertex shaders
Marek Olšák [Wed, 26 May 2010 02:18:27 +0000 (04:18 +0200)]
r300/compiler: move hardware caps to the radeon_compiler base struct
Needed for vertex shaders too.
Marek Olšák [Wed, 26 May 2010 01:24:00 +0000 (03:24 +0200)]
r300/compiler: shorten swizzle expressions
Dave Airlie [Wed, 26 May 2010 01:45:32 +0000 (11:45 +1000)]
rbug: add set sample mask passthrough.
This at least stops rbug segfaulting at startup.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Tue, 25 May 2010 23:41:22 +0000 (01:41 +0200)]
r300g: more efficient finish + fix comments
Marek Olšák [Tue, 25 May 2010 23:23:07 +0000 (01:23 +0200)]
r300g: implement fake but compliant fences
Marek Olšák [Tue, 25 May 2010 21:29:39 +0000 (23:29 +0200)]
r300g: add r300_init_render_functions, remove r300_render.h
Marek Olšák [Tue, 25 May 2010 21:23:41 +0000 (23:23 +0200)]
r300g: remove r300_query.h
Marek Olšák [Tue, 25 May 2010 21:21:41 +0000 (23:21 +0200)]
r300g: remove r300_flush.h
Marek Olšák [Tue, 25 May 2010 21:19:50 +0000 (23:19 +0200)]
r300g: add r300_init_blit_functions, remove r300_blit.h
Marek Olšák [Tue, 25 May 2010 21:10:49 +0000 (23:10 +0200)]
util: update comments at blitter
Marek Olšák [Tue, 25 May 2010 21:06:33 +0000 (23:06 +0200)]
util: fix indentation in blitter
Marek Olšák [Tue, 25 May 2010 21:05:29 +0000 (23:05 +0200)]
r300g,util: remove pipe_surface from the util_blitter_copy interface and clean up
Marek Olšák [Tue, 25 May 2010 19:28:19 +0000 (21:28 +0200)]
r300g,util: remove pipe_surface from the util_blitter_fill interface and clean up
Marek Olšák [Tue, 25 May 2010 18:59:13 +0000 (20:59 +0200)]
util: remove unused util_blitter_copy_surface
Jakob Bornecrantz [Tue, 25 May 2010 17:58:33 +0000 (18:58 +0100)]
drm_api: Remove type argument from create screen callback
With the removal of DRI1 support there where no use of this argument,
some drivers didn't even properly check it.
Jakob Bornecrantz [Tue, 25 May 2010 17:47:21 +0000 (18:47 +0100)]
gallium: Remove dri1_api.h and winsys support for DRI1
Since DRI1 support was dropped from st/dri it
makes no sense to keep this code around.
Jakob Bornecrantz [Tue, 25 May 2010 17:43:52 +0000 (18:43 +0100)]
st/dri: Remove DRI1 support
Nobody used it and the current code had been trough so many
changes yet never once being tested.
José Fonseca [Tue, 25 May 2010 13:39:25 +0000 (14:39 +0100)]
llvmpipe: Stop relying on PIPE_FLUSH_TEXTURE_CACHE/PIPE_FLUSH_RENDER_CACHE magic.
Flush means flush, i.e., all previous operations should be visible from
other contexts.
This does not imply unswizzling tiles, since unswizzling should be done on
a needed basis for any context.
José Fonseca [Tue, 25 May 2010 10:46:40 +0000 (11:46 +0100)]
gallivm: Choose an appropriate code generation optimization level.
'Default' unless GALLIVM_DEBUG=nopt option is set.
Brian Paul [Mon, 24 May 2010 22:20:30 +0000 (16:20 -0600)]
sw/xlib: NULL-out pointers after freeing image data
This fixes a double-free() error when not using a shared memory XImage.
The XDestroyImage() function frees the ximage->data buffer if non-NULL.
If we free it ourselves, we also need to NULL-out the pointer.
Brian Paul [Mon, 24 May 2010 22:19:21 +0000 (16:19 -0600)]
st/glx: check if deleting head of buffer list
Brian Paul [Mon, 24 May 2010 21:21:30 +0000 (17:21 -0400)]
meta: Convert Z value from normalized to object-space in meta code
Convert Z from a normalized value in the range [0, 1] to an
object-space Z coordinate in [-1, +1] so that drawing at the new Z
position with the default/identity ortho projection results in the
original Z value. Used by the meta-Clear, Draw/CopyPixels and Bitmap
functions where the Z value comes from the clear value or raster
position.
Fixes piglit tests fdo23670-depth_test, quad-invariance and
glsl-orangebook-ch06-bump as well as oglc zbfunc.c.
https://bugs.freedesktop.org/show_bug.cgi?id=23670
Kristian Høgsberg [Mon, 24 May 2010 20:56:12 +0000 (16:56 -0400)]
mesa: Reenable check for GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT
The check was disabled when FEATURE_OES_framebuffer_object was enabled,
since that used to mean we weren't implementing regular OpenGL semantics.
Now that we can compile in support for multiple APIs, change the #ifdef to
compile the check in when FEATURE_GL is enabled and enable the check for
contexts that implement OpenGL at runtime.
Brian Paul [Mon, 24 May 2010 17:43:55 +0000 (11:43 -0600)]
glsl: silence unused var warnings
José Fonseca [Mon, 24 May 2010 15:41:28 +0000 (16:41 +0100)]
llvmpipe: Also test compressed formats in lp_test_format()
José Fonseca [Mon, 24 May 2010 15:34:40 +0000 (16:34 +0100)]
llvmpipe: Fix lp_test_format on 32bit OSes.
Jakob Bornecrantz [Thu, 22 Apr 2010 20:21:24 +0000 (21:21 +0100)]
xorg-vmwgfx: Add vmwctrl proto
Kristian Høgsberg [Mon, 24 May 2010 14:01:38 +0000 (10:01 -0400)]
mesa: Handle FEATURE_es2_glsl differences at runtime too
Now that we can support different APIs at runtime, we need to check the
context for the API we're currently providing as well.
https://bugs.freedesktop.org/show_bug.cgi?id=28194
José Fonseca [Mon, 24 May 2010 13:24:06 +0000 (14:24 +0100)]
llvmpipe: Delete extraneous arugment too.
José Fonseca [Mon, 24 May 2010 12:56:53 +0000 (13:56 +0100)]
llvmpipe: Remove unused sincos_test_case struct.
Qicheng Christopher Li [Mon, 24 May 2010 12:44:13 +0000 (13:44 +0100)]
llvmpipe: Unit test for sin/cos that compares against reference implementation.
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Qicheng Christopher Li [Mon, 24 May 2010 12:41:17 +0000 (13:41 +0100)]
gallivm: Efficient implementation of sin/cos.
Based on Julien Pommier's SSE and SSE2 algorithms.
Signed-off-by: José Fonseca <jfonseca@vmware.com>
Eric Anholt [Sun, 23 May 2010 20:39:42 +0000 (13:39 -0700)]
i965: Add support for all 8 possible ARB_draw_buffers in Mesa.
We should be able to do 16, but are limited by Mesa's static buffer
allocations.
Eric Anholt [Sun, 23 May 2010 20:35:50 +0000 (13:35 -0700)]
i965: Fix bit allocation for number of color regions for ARB_draw_buffers.
If you used all 4 color targets we currently support, we would see 0
and end up just writing the first output. Give enough bits that we
can do the maximum of 16.
Fixes piglit fbo-drawbuffers-maxtargets.
Marek Olšák [Sun, 23 May 2010 17:00:56 +0000 (19:00 +0200)]
util/blitter: allow NULL clear color
Marek Olšák [Sun, 23 May 2010 16:34:04 +0000 (18:34 +0200)]
r300g: extend compile error message
Marek Olšák [Sat, 22 May 2010 11:46:30 +0000 (13:46 +0200)]
r300g: fix dummy vertex shader compilation
Marek Olšák [Sat, 22 May 2010 11:45:20 +0000 (13:45 +0200)]
r300g: fix warnings