mesa.git
14 years agollvmpipe: fix on-debug build breakage
Brian Paul [Thu, 29 Jul 2010 23:49:49 +0000 (17:49 -0600)]
llvmpipe: fix on-debug build breakage

14 years agollvmpipe: added some jit debug code
Brian Paul [Thu, 29 Jul 2010 23:31:17 +0000 (17:31 -0600)]
llvmpipe: added some jit debug code

If we crash in the jitted function we can examine jit_line and
jit_state in gdb to learn more about the shader.

14 years agodraw: do bounds checking of array elements (debug only)
Brian Paul [Thu, 29 Jul 2010 23:24:20 +0000 (17:24 -0600)]
draw: do bounds checking of array elements (debug only)

Make sure that all the element indexes actually lie inside the vertex
buffer.

Also, rename pipe_run() to pipe_run_elts() to be more specific.

And assert/check the vertex count for the non-indexed case.

14 years agodraw: assorted clean-ups in clipper code
Brian Paul [Thu, 29 Jul 2010 20:09:08 +0000 (14:09 -0600)]
draw: assorted clean-ups in clipper code

14 years agogallium: implement bounds checking for constant buffers
Brian Paul [Thu, 29 Jul 2010 19:49:21 +0000 (13:49 -0600)]
gallium: implement bounds checking for constant buffers

Plumb the constant buffer sizes down into the tgsi interpreter where
we can do bounds checking.  Optional debug code warns upon out-of-bounds
reading.  Plus add a few other assertions in the TGSI interpreter.

14 years agodraw: add vertex buffer offset in draw_print_arrays()
Brian Paul [Thu, 29 Jul 2010 19:44:44 +0000 (13:44 -0600)]
draw: add vertex buffer offset in draw_print_arrays()

14 years agollvmpipe: silence warnings in lp_test_sincos.c
Brian Paul [Thu, 29 Jul 2010 19:26:42 +0000 (13:26 -0600)]
llvmpipe: silence warnings in lp_test_sincos.c

14 years agor600g: mipmap early support + EX2/ABS instruction + culling
Jerome Glisse [Thu, 29 Jul 2010 18:51:06 +0000 (14:51 -0400)]
r600g: mipmap early support + EX2/ABS instruction + culling

Add mipmap support (demos/src/redbook/mipmap is working)
Add EX2/ABS shader instruction support.
Add face culling support.

Misc fixes.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agoglx: Fix copy/paste bug in glXWaitX and glXWaitGL
Kristian Høgsberg [Thu, 29 Jul 2010 22:48:51 +0000 (18:48 -0400)]
glx: Fix copy/paste bug in glXWaitX and glXWaitGL

https://bugs.freedesktop.org/show_bug.cgi?id=29304

14 years agoglx: Compare old ctx against dummyCtx, not NULL
Kristian Høgsberg [Thu, 29 Jul 2010 22:44:26 +0000 (18:44 -0400)]
glx: Compare old ctx against dummyCtx, not NULL

https://bugs.freedesktop.org/show_bug.cgi?id=29302

14 years agoglx: Fix linked list deletion in __glXCloseDisplay()
Kristian Høgsberg [Thu, 29 Jul 2010 20:01:39 +0000 (16:01 -0400)]
glx: Fix linked list deletion in __glXCloseDisplay()

I hate single linked lists.

14 years agointel: Declare the various tracked state variables using "extern"
Kristian Høgsberg [Thu, 29 Jul 2010 19:45:20 +0000 (15:45 -0400)]
intel: Declare the various tracked state variables using "extern"

14 years agointel: Don't depend on context config values when picking texture formats
Kristian Høgsberg [Thu, 29 Jul 2010 19:39:36 +0000 (15:39 -0400)]
intel: Don't depend on context config values when picking texture formats

14 years agoegl_dri2: Set API version for DRM display
Kristian Høgsberg [Thu, 29 Jul 2010 18:26:34 +0000 (14:26 -0400)]
egl_dri2: Set API version for DRM display

14 years agor300g/swtcl: fix crash in ETQW and minor fixups
Marek Olšák [Thu, 29 Jul 2010 18:52:17 +0000 (20:52 +0200)]
r300g/swtcl: fix crash in ETQW and minor fixups

The Draw flush inside r300_flush was the culprit.

Also, no need to flush Draw when changing a state since the flush is
already inside swtcl_draw_vbo.

14 years agor300g/swtcl: fix crash after the draw_vbo merge
Marek Olšák [Thu, 29 Jul 2010 17:53:36 +0000 (19:53 +0200)]
r300g/swtcl: fix crash after the draw_vbo merge

14 years agollvmpipe: also test the new lp_build_assert() function
Brian Paul [Thu, 29 Jul 2010 18:51:34 +0000 (12:51 -0600)]
llvmpipe: also test the new lp_build_assert() function

14 years agollvmpipe: don't call LLVMCreateJITCompiler() twice
Brian Paul [Thu, 29 Jul 2010 18:49:12 +0000 (12:49 -0600)]
llvmpipe: don't call LLVMCreateJITCompiler() twice

Fixes a failed assertion with LLVM 2.6:

<unnamed>::JITResolver::JITResolver(llvm::JIT&): Assertion
`TheJITResolver == 0&&  "Multiple JIT resolvers?"' failed.

Though, not everyone seems to experience this problem.

14 years agogallivm: added lp_build_assert() function to make assertions in LLVM code
Brian Paul [Thu, 29 Jul 2010 18:03:33 +0000 (12:03 -0600)]
gallivm: added lp_build_assert() function to make assertions in LLVM code

14 years agoRevert "gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture"
José Fonseca [Thu, 29 Jul 2010 18:38:02 +0000 (19:38 +0100)]
Revert "gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture"

This reverts commit 5f90e76c54bbf4456c977b3cbca450d7a570179e.

Bad cherry-pick.

14 years agogallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture
Brian Paul [Thu, 29 Jul 2010 18:18:48 +0000 (19:18 +0100)]
gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture

If y==NULL and y_stride==NULL it means the texture is 1D.  Return
zero for out_i and the offset instead of garbage.

14 years agoutil: add uint version of pack_z_stencil
Keith Whitwell [Fri, 16 Jul 2010 11:50:01 +0000 (12:50 +0100)]
util: add uint version of pack_z_stencil

Useful for packing mask values.

14 years agoscons: Use the current python executable for code generation.
José Fonseca [Tue, 20 Jul 2010 12:40:01 +0000 (13:40 +0100)]
scons: Use the current python executable for code generation.

Less susceptible to be broken.

14 years agodraw: Also emit EMMS on generated LLVM IR.
José Fonseca [Mon, 26 Jul 2010 11:16:45 +0000 (12:16 +0100)]
draw: Also emit EMMS on generated LLVM IR.

14 years agollvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.
José Fonseca [Thu, 22 Jul 2010 17:37:46 +0000 (18:37 +0100)]
llvmpipe: Avoid corrupting the FPU stack with MMX instructions on 32bit OSes.

Unfortunately LLVM doesn't emit EMMS itself, and there is no
easy/effective way to disable MMX.

http://llvm.org/bugs/show_bug.cgi?id=3287

14 years agoutil: Don't include xmmintrin.h.
José Fonseca [Thu, 22 Jul 2010 15:53:39 +0000 (16:53 +0100)]
util: Don't include xmmintrin.h.

Unnecessary.

14 years agomesa: implement RCC opcode
Brian Paul [Thu, 29 Jul 2010 14:23:59 +0000 (08:23 -0600)]
mesa: implement RCC opcode

14 years agomesa: update table of opcodes used by GLSL
Brian Paul [Thu, 29 Jul 2010 14:23:33 +0000 (08:23 -0600)]
mesa: update table of opcodes used by GLSL

14 years agor600: since 8744c36e added asserts - use another random register for shader with...
Andre Maasikas [Thu, 29 Jul 2010 12:18:19 +0000 (15:18 +0300)]
r600: since 8744c36e added asserts - use another random register for shader with no output

14 years agost/python: Adapt to interface change.
Chia-I Wu [Thu, 29 Jul 2010 09:39:27 +0000 (17:39 +0800)]
st/python: Adapt to interface change.

This is only compile tested.

14 years agograw/tests: Use pipe_context::draw_vbo.
Chia-I Wu [Thu, 29 Jul 2010 08:04:28 +0000 (16:04 +0800)]
graw/tests: Use pipe_context::draw_vbo.

The other drawing variants such as draw_arrays or
draw_elements_instanced were removed.

This fixes fdo bug #29287.

14 years agogallium: Avoid void pointer arithmetic.
Chia-I Wu [Thu, 29 Jul 2010 07:54:10 +0000 (15:54 +0800)]
gallium: Avoid void pointer arithmetic.

This fixes fdo bug #29286.

14 years agomesa: Reduce arrayobj.h header file inclusion.
Vinson Lee [Thu, 29 Jul 2010 06:16:31 +0000 (23:16 -0700)]
mesa: Reduce arrayobj.h header file inclusion.

Directly include mtypes.h instead of including context.h to include
mtypes.h.

14 years agomesa: Remove unnecessary header.
Vinson Lee [Thu, 29 Jul 2010 06:07:44 +0000 (23:07 -0700)]
mesa: Remove unnecessary header.

14 years agogallium/docs: Document draw_vbo and set_index_buffer.
Chia-I Wu [Sat, 17 Jul 2010 14:00:04 +0000 (22:00 +0800)]
gallium/docs: Document draw_vbo and set_index_buffer.

Document the new unified drawing method and remove references to old
ones.

14 years agogallium: Keep only pipe_context::draw_vbo.
Chia-I Wu [Fri, 16 Jul 2010 17:10:46 +0000 (01:10 +0800)]
gallium: Keep only pipe_context::draw_vbo.

That is, remove pipe_context::draw_arrays, pipe_context::draw_elements,
pipe_context::draw_arrays_instanced,
pipe_context::draw_elements_instanced,
pipe_context::draw_range_elements.

14 years agogallium: Use unified pipe_context::draw_vbo.
Chia-I Wu [Thu, 15 Jul 2010 20:21:11 +0000 (04:21 +0800)]
gallium: Use unified pipe_context::draw_vbo.

Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.

14 years agogallium: Implement draw_vbo and set_index_buffer for all drivers.
Chia-I Wu [Thu, 15 Jul 2010 20:35:58 +0000 (04:35 +0800)]
gallium: Implement draw_vbo and set_index_buffer for all drivers.

Some drivers define a generic function that is called by all drawing
functions.  To implement draw_vbo for such drivers, either draw_vbo
calls the generic function or the prototype of the generic function is
changed to match draw_vbo.

Other drivers have no such generic function.  draw_vbo is implemented by
calling either draw_arrays and draw_elements.

For most drivers, set_index_buffer does not mark the state dirty for
tracking.  Instead, the index buffer state is emitted whenever draw_vbo
is called, just like the case with draw_elements.  It surely can be
improved.

14 years agogallium: Add pipe_context::draw_vbo and pipe_context::set_index_buffer.
Chia-I Wu [Thu, 15 Jul 2010 20:02:55 +0000 (04:02 +0800)]
gallium: Add pipe_context::draw_vbo and pipe_context::set_index_buffer.

This commit adds a new unified draw_vbo method to pipe_context.  Unlike
other draw methods, draw_vbo treats the index buffer as a state which is
set with set_index_buffer.

14 years agomesa: Remove unnecessary header.
Vinson Lee [Thu, 29 Jul 2010 05:27:52 +0000 (22:27 -0700)]
mesa: Remove unnecessary header.

14 years agoegl: Fix deref before NULL-check
Kristian Høgsberg [Thu, 29 Jul 2010 03:54:16 +0000 (23:54 -0400)]
egl: Fix deref before NULL-check

14 years agointel: Implement EGL_KHR_surfaceless extension
Kristian Høgsberg [Fri, 4 Jun 2010 18:28:59 +0000 (14:28 -0400)]
intel: Implement EGL_KHR_surfaceless extension

14 years agoegl_dri2: Implement EGL_KHR_surfaceless_* extensions
Kristian Høgsberg [Tue, 27 Jul 2010 22:25:54 +0000 (18:25 -0400)]
egl_dri2: Implement EGL_KHR_surfaceless_* extensions

14 years agoegl: EGL_KHR_surfaceless_* extensions
Kristian Høgsberg [Thu, 3 Jun 2010 02:48:06 +0000 (22:48 -0400)]
egl: EGL_KHR_surfaceless_* extensions

These extensions allow an application to make a context current by
passing EGL_NO_SURFACE for the write and read surface in the call to
eglMakeCurrent.  The motivation is that applications that only want to
render to client API targets (such as OpenGL framebuffer objects)
should not need to create a throw-away EGL surface just to get a
current context.

14 years agoUntangle gallium/egl/glx source sharing mess and make it compile again
Kristian Høgsberg [Thu, 29 Jul 2010 02:18:14 +0000 (22:18 -0400)]
Untangle gallium/egl/glx source sharing mess and make it compile again

14 years agor600g: state context ptr in sampler_view & add I8/L8 buffer format
Jerome Glisse [Thu, 29 Jul 2010 00:09:15 +0000 (20:09 -0400)]
r600g: state context ptr in sampler_view & add I8/L8 buffer format

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: switch btw flat/linear interpolation
Jerome Glisse [Wed, 28 Jul 2010 23:59:38 +0000 (19:59 -0400)]
r600g: switch btw flat/linear interpolation

I am not sure how to properly handle flat shading regarding
non color parameter to fragment shader. It seems we should
still interpolate non color using linear interpolation and
flat shade only apply to color.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: split pipe state creating/binding from hw state creation
Jerome Glisse [Wed, 28 Jul 2010 23:33:50 +0000 (19:33 -0400)]
r600g: split pipe state creating/binding from hw state creation

Split hw vs pipe states creation handling as hw states group doesn't
match pipe state group exactly. Right now be dumb about that and
rebuild all hw states on each draw call. More optimization on that
side coming.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agoglx: Split indirect and applegl implementations into different files
Kristian Høgsberg [Wed, 28 Jul 2010 20:40:43 +0000 (16:40 -0400)]
glx: Split indirect and applegl implementations into different files

14 years agoglx: Move bind and unbind to context vtable
Kristian Høgsberg [Wed, 28 Jul 2010 19:33:09 +0000 (15:33 -0400)]
glx: Move bind and unbind to context vtable

14 years agoglx: Rename __GLXcontext and __GLXdisplayPrivate to struct types.
Kristian Høgsberg [Wed, 28 Jul 2010 15:16:00 +0000 (11:16 -0400)]
glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types.

14 years agoglx: Rename __GLXscreenConfigs to struct glx_screen
Kristian Høgsberg [Wed, 28 Jul 2010 14:28:43 +0000 (10:28 -0400)]
glx: Rename __GLXscreenConfigs to struct glx_screen

Because double underscores in private type names is painful.

14 years agoglx: Use _X_EXPORT instead of our own PUBLIC macro
Kristian Høgsberg [Wed, 28 Jul 2010 14:20:41 +0000 (10:20 -0400)]
glx: Use _X_EXPORT instead of our own PUBLIC macro

We're an X client library, so we can use Xfuncproto.h.

14 years agoglx: Rename glcontextmodes.[ch] to glxconfig.[ch]
Kristian Høgsberg [Wed, 28 Jul 2010 14:13:44 +0000 (10:13 -0400)]
glx: Rename glcontextmodes.[ch] to glxconfig.[ch]

14 years agoglx: Rename __GLcontextModes to struct glx_config
Kristian Høgsberg [Wed, 28 Jul 2010 14:07:52 +0000 (10:07 -0400)]
glx: Rename __GLcontextModes to struct glx_config

With this rename, we use 'config' consitently to refer to GLX configurations
instead of the modes/configs/visual mess before.

14 years agoglx: Delete unused glcontextmodes.c functions
Kristian Høgsberg [Wed, 28 Jul 2010 13:14:55 +0000 (09:14 -0400)]
glx: Delete unused glcontextmodes.c functions

14 years agoglx: Stop using glcore.h and glxint.h in glx
Kristian Høgsberg [Wed, 28 Jul 2010 13:08:32 +0000 (09:08 -0400)]
glx: Stop using glcore.h and glxint.h in glx

We'd like to get rid of these header files.

14 years agoAvoid a compiler warning about a potentially unused variable.
Carl Worth [Wed, 28 Jul 2010 17:42:46 +0000 (10:42 -0700)]
Avoid a compiler warning about a potentially unused variable.

There is no assignment to the "ret" variable if X_DRI2SwapBuffers is
not defined. In this case, the earlier explicit "return 0" is likely
to be used, but the compiler can't be sure of that, (nor can I for
that matter).

We cover this case by explicitly initializing "ret" to 0.

14 years agoAvoid compiler warning for unused glx_dpy variable.
Carl Worth [Wed, 28 Jul 2010 17:33:27 +0000 (10:33 -0700)]
Avoid compiler warning for unused glx_dpy variable.

My earlier attempt to eliminate this warning (c0ca2bfb2ad8c) was
invalid as it removed the variable declaration. Jerome correctly
reverted that (600c85efdb0ff) since the variable is used when
X_DRI2SwapBuffers is defined.

Here, instead of removing the declaration, we move it to inside the
correct #ifdef.

14 years agor600g: cleanup resource buffer/texture mess
Jerome Glisse [Wed, 28 Jul 2010 16:18:19 +0000 (12:18 -0400)]
r600g: cleanup resource buffer/texture mess

Use a common function, fix the mess it was before.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: add lrp instruction support
Jerome Glisse [Wed, 28 Jul 2010 14:35:32 +0000 (10:35 -0400)]
r600g: add lrp instruction support

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agor600g: actualy fix the literal emission
Jerome Glisse [Wed, 28 Jul 2010 13:11:14 +0000 (09:11 -0400)]
r600g: actualy fix the literal emission

Previous patch added literal emission to wrong place, we
want to emit literal before emitting a new alu group.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agoglapi: Fix VMware spelling.
Vinson Lee [Wed, 28 Jul 2010 08:11:34 +0000 (01:11 -0700)]
glapi: Fix VMware spelling.

14 years agogallium/docs: Fix VMware spelling.
Vinson Lee [Wed, 28 Jul 2010 08:09:40 +0000 (01:09 -0700)]
gallium/docs: Fix VMware spelling.

14 years agodraw: Fix VMware spelling.
Vinson Lee [Wed, 28 Jul 2010 08:07:03 +0000 (01:07 -0700)]
draw: Fix VMware spelling.

14 years agor600g: fix up segfault with variation between views and count.
Dave Airlie [Wed, 28 Jul 2010 05:26:14 +0000 (15:26 +1000)]
r600g: fix up segfault with variation between views and count.

For some reason gallium hands us something with lots of empty views, and
we are expected to deal with it, just do what r300g does for this bit.

14 years agogallium/docs: Fix VMware spelling.
Corbin Simpson [Tue, 27 Jul 2010 23:34:57 +0000 (16:34 -0700)]
gallium/docs: Fix VMware spelling.

14 years agor600g: use gallium util for float->ui conversion
Dave Airlie [Wed, 28 Jul 2010 01:51:16 +0000 (11:51 +1000)]
r600g: use gallium util for float->ui conversion

14 years agoscons: Fix sunos5 build.
Vinson Lee [Wed, 28 Jul 2010 01:13:47 +0000 (18:13 -0700)]
scons: Fix sunos5 build.

14 years agor600g: texture support
Jerome Glisse [Wed, 28 Jul 2010 00:15:17 +0000 (20:15 -0400)]
r600g: texture support

Add texture mapping support, redbook/texbind works if
you comment out glClear and second checkboard. Need to
fix :
 - texture overwritting
 - lod & mip/map handling
 - unormalized coordinate handling
 - texture view with first leve > 0
 - and many other things

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agollvmpipe: pass face+slice to llvmpipe_unswizzle_cbuf_tile()
Brian Paul [Tue, 27 Jul 2010 23:40:00 +0000 (17:40 -0600)]
llvmpipe: pass face+slice to llvmpipe_unswizzle_cbuf_tile()

Cube map faces and 3D texture slices are treated the same in llvmpipe
textures.  Need to pass the sum of these fields to
llvmpipe_unswizzle_cbuf_tile() as we do elsewhere.

Fixes piglit fbo-3d test (fd.o bug 29135).

14 years agor600g: Move declaration before code.
Vinson Lee [Tue, 27 Jul 2010 22:33:45 +0000 (15:33 -0700)]
r600g: Move declaration before code.

Fixes SCons build.

14 years agoswrastg: Add SWRAST_NO_PRESENT option to not send updates to X server
Jakob Bornecrantz [Tue, 27 Jul 2010 04:16:05 +0000 (21:16 -0700)]
swrastg: Add SWRAST_NO_PRESENT option to not send updates to X server

There seem to be a problem with this path and freeglut where
the window wont open if SWRAST_NO_PRESENT is set to true.

14 years agointel: Remove unused intel/server files
Kristian Høgsberg [Tue, 27 Jul 2010 19:21:19 +0000 (15:21 -0400)]
intel: Remove unused intel/server files

14 years agor600g: always emit literal after emiting an alu instruction
Jerome Glisse [Tue, 27 Jul 2010 17:48:49 +0000 (13:48 -0400)]
r600g: always emit literal after emiting an alu instruction

Make sure we always fill in the literal after alu instruction.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
14 years agollvmpipe: Use lp_build_select_bitwise() where appropriate.
José Fonseca [Tue, 27 Jul 2010 12:09:12 +0000 (13:09 +0100)]
llvmpipe: Use lp_build_select_bitwise() where appropriate.

Fixes fdo 29269.

14 years agogallivm: Add lp_build_select_bitwise() alternative to lp_build_select_bitwise
José Fonseca [Tue, 27 Jul 2010 12:08:01 +0000 (13:08 +0100)]
gallivm: Add lp_build_select_bitwise() alternative to lp_build_select_bitwise

When

  (mask & a) | (~mask & b)

is meant instead of

   mask ? a : b

14 years agocell: comment-out unused fields, functions
Brian Paul [Tue, 27 Jul 2010 02:50:17 +0000 (20:50 -0600)]
cell: comment-out unused fields, functions

14 years agocell: make functions static
Brian Paul [Tue, 27 Jul 2010 02:49:54 +0000 (20:49 -0600)]
cell: make functions static

14 years agocell: fix segfault when freeing samplers
Brian Paul [Tue, 27 Jul 2010 02:49:35 +0000 (20:49 -0600)]
cell: fix segfault when freeing samplers

14 years agocell: comment-out unneeded padding field
Brian Paul [Tue, 27 Jul 2010 02:49:09 +0000 (20:49 -0600)]
cell: comment-out unneeded padding field

14 years agocell: added const qualifier
Brian Paul [Tue, 27 Jul 2010 02:48:46 +0000 (20:48 -0600)]
cell: added const qualifier

14 years agoutil: fix unused function warning on non-x86
Brian Paul [Tue, 27 Jul 2010 02:48:29 +0000 (20:48 -0600)]
util: fix unused function warning on non-x86

14 years agoglx: Remove function prototypes no longer necessary
Kristian Høgsberg [Mon, 26 Jul 2010 21:23:23 +0000 (17:23 -0400)]
glx: Remove function prototypes no longer necessary

14 years agoi965: Fix reversed naming of the operations in compute-to-mrf optimization.
Eric Anholt [Mon, 26 Jul 2010 20:01:45 +0000 (13:01 -0700)]
i965: Fix reversed naming of the operations in compute-to-mrf optimization.

Also fix up comments, so that the difference between the two passes is
clarified.

14 years agoi965: Clean up a few magic numbers to use brw_defines.h defs.
Eric Anholt [Mon, 26 Jul 2010 19:55:28 +0000 (12:55 -0700)]
i965: Clean up a few magic numbers to use brw_defines.h defs.

14 years agoi965: Use MIN2, MAX2 instead of rolling our own.
Eric Anholt [Mon, 26 Jul 2010 19:51:22 +0000 (12:51 -0700)]
i965: Use MIN2, MAX2 instead of rolling our own.

14 years agoi965: Fold the "is arithmetic" bit of 965 opcodes into the opcode list.
Eric Anholt [Mon, 26 Jul 2010 19:49:32 +0000 (12:49 -0700)]
i965: Fold the "is arithmetic" bit of 965 opcodes into the opcode list.

14 years agoi965: Remove some duped register size/count definitions
Eric Anholt [Mon, 26 Jul 2010 19:43:51 +0000 (12:43 -0700)]
i965: Remove some duped register size/count definitions

14 years agoi965: Move the GRF-to-MRF optimizations to brw_optimize.c.
Eric Anholt [Mon, 26 Jul 2010 19:41:39 +0000 (12:41 -0700)]
i965: Move the GRF-to-MRF optimizations to brw_optimize.c.

14 years agoi965: Improve (i.e. remove) some grf-to-mrf unnecessary moves
Benjamin Segovia [Mon, 26 Jul 2010 04:30:19 +0000 (21:30 -0700)]
i965: Improve (i.e. remove) some grf-to-mrf unnecessary moves

Several routines directly analyze the grf-to-mrf moves from the Gen
binary code. When it is possible, the mov is removed and the message
register is directly written in the arithmetic instruction

Also redundant mrf-to-grf moves are removed (frequently for example,
when sampling many textures with the same uv)

Code was tested with piglit, warsow and nexuiz on an Ironlake
machine. No regression was found there

Note that the optimizations are *deactivated* on Gen4 and Gen6 since I
did test them properly yet. No reason there are bugs but who knows

The optimizations are currently done in branch free programs *only*.
Considering branches is more complicated and there are actually two
paths: one for branch free programs and one for programs with branches

Also some other optimizations should be done during the emission
itself but considering that some code is shader between vertex shaders
(AOS) and pixel shaders (SOA) and that we may have branches or not, it
is pretty hard to both factorize the code and have one good set of
strategies

14 years agoglx: Drop debug fprintf that snug in with the previous commit
Kristian Høgsberg [Mon, 26 Jul 2010 20:06:05 +0000 (16:06 -0400)]
glx: Drop debug fprintf that snug in with the previous commit

14 years agoglx: Enable copy subbuffer patch when GLX_DIRECT_RENDERING is #defined
Kristian Høgsberg [Mon, 26 Jul 2010 19:50:02 +0000 (15:50 -0400)]
glx: Enable copy subbuffer patch when GLX_DIRECT_RENDERING is #defined

Depending on __DRI_COPY_SUB_BUFFER doesn't work when we no longer include
dri_interface.h.

https://bugs.freedesktop.org/show_bug.cgi?id=29264

14 years agost/egl: Fix debug line
nobled [Tue, 8 Jun 2010 13:00:17 +0000 (13:00 +0000)]
st/egl: Fix debug line

Acked-by: Jakob Bornecrantz <jakob@vmware.com>
14 years agoutil: fix CPU detection on OS X
nobled [Sat, 24 Jul 2010 12:59:40 +0000 (12:59 +0000)]
util: fix CPU detection on OS X

s/PIPE_OS_DARWIN/PIPE_OS_APPLE, since there is no PIPE_OS_DARWIN.

Acked-by: Vinson Lee <vlee@vmware.com>
14 years agost/xorg: fix use-after-free
nobled [Sat, 24 Jul 2010 12:05:30 +0000 (12:05 +0000)]
st/xorg: fix use-after-free

Acked-by: Jakob Bornecrantz <jakob@vmware.com>
14 years agoi965g: Enable llvm in dri driver if built
Jakob Bornecrantz [Fri, 23 Jul 2010 04:50:27 +0000 (21:50 -0700)]
i965g: Enable llvm in dri driver if built

14 years agoi915g: Fix llvm build
nobled [Sat, 24 Jul 2010 12:04:29 +0000 (12:04 +0000)]
i915g: Fix llvm build

Acked-by: Jakob Bornecrantz <jakob@vmware.com>
14 years agoglx: Drop duplicate psc field in dri context struct
Kristian Høgsberg [Mon, 26 Jul 2010 19:17:00 +0000 (15:17 -0400)]
glx: Drop duplicate psc field in dri context struct

Same problem as fixed for drisw in 4d58b5b482d06ab8d4c4b2db33d0b48b7c82d064.

14 years agoi965: Allow VS MOVs to use immediate constants.
Eric Anholt [Mon, 26 Jul 2010 11:20:33 +0000 (04:20 -0700)]
i965: Allow VS MOVs to use immediate constants.

Clarifies program assembly, and with a little tweak to always use
constant_map, we could cut down on constant buffer payload.