George Sapountzis [Tue, 25 May 2010 22:08:15 +0000 (01:08 +0300)]
st/dri: drop dri1_helper
George Sapountzis [Thu, 8 Apr 2010 15:58:35 +0000 (18:58 +0300)]
st/dri: mv driDriverAPI to backends
Brian Paul [Fri, 30 Jul 2010 20:27:03 +0000 (14:27 -0600)]
st/mesa: better handling of indirect addressing of temp/const register files
With gl_program::IndirectRegisterFiles we can distinguish between indirect
addressing of constants vs. temporaries. In the case of temporaries,
declare all temps up front sequentially.
Fixes fd.o bug 29305.
Brian Paul [Fri, 30 Jul 2010 20:24:23 +0000 (14:24 -0600)]
mesa: added gl_program::IndirectRegisterFiles field
Now drivers, etc. can know which register files are accessed with
indirect addressing. Before we just checked gl_program::NumAddressRegs
but didn't know if that was the constant buffer, temp regs, or what.
The only user of this new field so far will be the gallium state tracker.
Vinson Lee [Fri, 30 Jul 2010 20:11:14 +0000 (13:11 -0700)]
llvmpipe: Silence unused value warning.
Vinson Lee [Fri, 30 Jul 2010 20:00:13 +0000 (13:00 -0700)]
mesa: Add missing header to multisample.h.
Include mtypes.h for GLcontext symbol.
Zack Rusin [Fri, 30 Jul 2010 19:42:06 +0000 (15:42 -0400)]
draw: actually a noop, rather than not implemented
we just have nothing to do in it right now
Vinson Lee [Fri, 30 Jul 2010 19:32:47 +0000 (12:32 -0700)]
mesa: Remove unnecessary header from colormac.h.
Brian Paul [Fri, 30 Jul 2010 19:28:42 +0000 (13:28 -0600)]
tgsi: remove incorrect assertion
Vinson Lee [Fri, 30 Jul 2010 19:13:17 +0000 (12:13 -0700)]
mesa: Remove unnecessary headers.
Vinson Lee [Fri, 30 Jul 2010 18:48:48 +0000 (11:48 -0700)]
llvmpipe: Fix implicit declaration of lp_func_delete_body warnings.
Chia-I Wu [Fri, 30 Jul 2010 15:44:16 +0000 (23:44 +0800)]
util: Fix the range of util_draw_elements_instanced.
Keep min_index and max_index at their defaults (0 and ~0).
Zack Rusin [Tue, 27 Jul 2010 16:26:54 +0000 (12:26 -0400)]
llvmpipe: delete function bodies after generating machine code
Jerome Glisse [Fri, 30 Jul 2010 15:10:24 +0000 (11:10 -0400)]
r600g: fix typo in tex instruction + shader semantic id fix
It seems we never get semantic id from TGSI so fallback
to use output number as id.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Li Peng [Fri, 30 Jul 2010 04:26:15 +0000 (12:26 +0800)]
configure: fix wrong variable name GLESv1_LIB_DEPS
GLESv1_CM_LIB_DEPS is defined in "configs/autoconf.in",
but configure.ac uses GLESv1_LIB_DEPS.
Signed-off-by: Li Peng <peng.li@linux.intel.com>
Keith Whitwell [Fri, 30 Jul 2010 09:47:20 +0000 (10:47 +0100)]
util: more helpers for old draw code
Vinson Lee [Fri, 30 Jul 2010 07:41:08 +0000 (00:41 -0700)]
mesa: Include macros.h in files that use symbols from macros.h.
Don't rely on inclusion of other files that already include macros.h.
Vinson Lee [Fri, 30 Jul 2010 07:18:09 +0000 (00:18 -0700)]
mesa: Include macros.h in attrib.c for COPY_4FV symbol.
Vinson Lee [Fri, 30 Jul 2010 07:06:40 +0000 (00:06 -0700)]
intel: Add missing header to intel_context.c.
Fixes "implicit declaration of function
_mesa_get_incomplete_framebuffer" warning.
Vinson Lee [Fri, 30 Jul 2010 07:00:22 +0000 (00:00 -0700)]
mesa: Reduce clip.h header file inclusion.
Vinson Lee [Fri, 30 Jul 2010 06:53:13 +0000 (23:53 -0700)]
mesa: Add missing header to framebuffer.h.
Include mtypes.h for GLvisual and GLcontext symbols.
Vinson Lee [Fri, 30 Jul 2010 06:50:32 +0000 (23:50 -0700)]
mesa: Add missing header to fboject.h.
Add mtypes.h for GLcontext symbol.
Vinson Lee [Fri, 30 Jul 2010 06:41:46 +0000 (23:41 -0700)]
mesa: Add missing header to texgetimage.h.
Vinson Lee [Fri, 30 Jul 2010 06:38:17 +0000 (23:38 -0700)]
mesa: Add missing header to texrender.h.
Add mtypes.h for GLcontext symbol.
Vinson Lee [Fri, 30 Jul 2010 06:04:50 +0000 (23:04 -0700)]
mesa: Add missing header and forward declarations to uniforms.h.
Vinson Lee [Fri, 30 Jul 2010 05:57:54 +0000 (22:57 -0700)]
mesa: Add missing headers to viewport.h.
Vinson Lee [Fri, 30 Jul 2010 05:43:09 +0000 (22:43 -0700)]
mesa: Add missing header to depthstencil.h.
Add mtypes.h for GLcontext symbol.
Vinson Lee [Fri, 30 Jul 2010 05:41:03 +0000 (22:41 -0700)]
mesa: Add missing headers to debug.h.
Vinson Lee [Fri, 30 Jul 2010 02:10:14 +0000 (19:10 -0700)]
intel: Add missing header.
Add context.h for NEED_SECONDARY_COLOR symbol.
Vinson Lee [Fri, 30 Jul 2010 02:04:43 +0000 (19:04 -0700)]
dri: Add missing header to dri_metaops.c.
Add context.h for FLUSH_VERTICES symbol.
Vinson Lee [Fri, 30 Jul 2010 01:15:41 +0000 (18:15 -0700)]
mesa: Reduce clear.h header file inclusion.
Vinson Lee [Fri, 30 Jul 2010 01:03:20 +0000 (18:03 -0700)]
mesa: Reduce bufferobj.h header file inclusion.
Directly include mtypes.h instead of including context.h to include
mtypes.h.
Vinson Lee [Fri, 30 Jul 2010 00:14:32 +0000 (17:14 -0700)]
mesa: Remove unnecessary headers.
Brian Paul [Thu, 29 Jul 2010 23:49:49 +0000 (17:49 -0600)]
llvmpipe: fix on-debug build breakage
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.
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.
Brian Paul [Thu, 29 Jul 2010 20:09:08 +0000 (14:09 -0600)]
draw: assorted clean-ups in clipper code
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.
Brian Paul [Thu, 29 Jul 2010 19:44:44 +0000 (13:44 -0600)]
draw: add vertex buffer offset in draw_print_arrays()
Brian Paul [Thu, 29 Jul 2010 19:26:42 +0000 (13:26 -0600)]
llvmpipe: silence warnings in lp_test_sincos.c
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>
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
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
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.
Kristian Høgsberg [Thu, 29 Jul 2010 19:45:20 +0000 (15:45 -0400)]
intel: Declare the various tracked state variables using "extern"
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
Kristian Høgsberg [Thu, 29 Jul 2010 18:26:34 +0000 (14:26 -0400)]
egl_dri2: Set API version for DRM display
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.
Marek Olšák [Thu, 29 Jul 2010 17:53:36 +0000 (19:53 +0200)]
r300g/swtcl: fix crash after the draw_vbo merge
Brian Paul [Thu, 29 Jul 2010 18:51:34 +0000 (12:51 -0600)]
llvmpipe: also test the new lp_build_assert() function
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.
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
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.
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.
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.
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.
José Fonseca [Mon, 26 Jul 2010 11:16:45 +0000 (12:16 +0100)]
draw: Also emit EMMS on generated LLVM IR.
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
José Fonseca [Thu, 22 Jul 2010 15:53:39 +0000 (16:53 +0100)]
util: Don't include xmmintrin.h.
Unnecessary.
Brian Paul [Thu, 29 Jul 2010 14:23:59 +0000 (08:23 -0600)]
mesa: implement RCC opcode
Brian Paul [Thu, 29 Jul 2010 14:23:33 +0000 (08:23 -0600)]
mesa: update table of opcodes used by GLSL
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
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.
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.
Chia-I Wu [Thu, 29 Jul 2010 07:54:10 +0000 (15:54 +0800)]
gallium: Avoid void pointer arithmetic.
This fixes fdo bug #29286.
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.
Vinson Lee [Thu, 29 Jul 2010 06:07:44 +0000 (23:07 -0700)]
mesa: Remove unnecessary header.
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.
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.
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.
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.
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.
Vinson Lee [Thu, 29 Jul 2010 05:27:52 +0000 (22:27 -0700)]
mesa: Remove unnecessary header.
Kristian Høgsberg [Thu, 29 Jul 2010 03:54:16 +0000 (23:54 -0400)]
egl: Fix deref before NULL-check
Kristian Høgsberg [Fri, 4 Jun 2010 18:28:59 +0000 (14:28 -0400)]
intel: Implement EGL_KHR_surfaceless extension
Kristian Høgsberg [Tue, 27 Jul 2010 22:25:54 +0000 (18:25 -0400)]
egl_dri2: Implement 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.
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
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>
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>
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>
Kristian Høgsberg [Wed, 28 Jul 2010 20:40:43 +0000 (16:40 -0400)]
glx: Split indirect and applegl implementations into different files
Kristian Høgsberg [Wed, 28 Jul 2010 19:33:09 +0000 (15:33 -0400)]
glx: Move bind and unbind to context vtable
Kristian Høgsberg [Wed, 28 Jul 2010 15:16:00 +0000 (11:16 -0400)]
glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types.
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.
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.
Kristian Høgsberg [Wed, 28 Jul 2010 14:13:44 +0000 (10:13 -0400)]
glx: Rename glcontextmodes.[ch] to glxconfig.[ch]
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.
Kristian Høgsberg [Wed, 28 Jul 2010 13:14:55 +0000 (09:14 -0400)]
glx: Delete unused glcontextmodes.c functions
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.
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.
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.
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>
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>
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>
Vinson Lee [Wed, 28 Jul 2010 08:11:34 +0000 (01:11 -0700)]
glapi: Fix VMware spelling.
Vinson Lee [Wed, 28 Jul 2010 08:09:40 +0000 (01:09 -0700)]
gallium/docs: Fix VMware spelling.
Vinson Lee [Wed, 28 Jul 2010 08:07:03 +0000 (01:07 -0700)]
draw: Fix VMware spelling.
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.
Corbin Simpson [Tue, 27 Jul 2010 23:34:57 +0000 (16:34 -0700)]
gallium/docs: Fix VMware spelling.