Commit Graph

35959 Commits

Author SHA1 Message Date
Brian Paul d1f38baa01 llvmpipe: silence warnings in lp_test_sincos.c 2010-07-29 17:25:54 -06:00
Jerome Glisse 7a73390f91 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>
2010-07-29 19:05:57 -04:00
Kristian Høgsberg e3e25dee20 glx: Fix copy/paste bug in glXWaitX and glXWaitGL
https://bugs.freedesktop.org/show_bug.cgi?id=29304
2010-07-29 18:49:10 -04:00
Kristian Høgsberg f485ee724d glx: Compare old ctx against dummyCtx, not NULL
https://bugs.freedesktop.org/show_bug.cgi?id=29302
2010-07-29 18:49:10 -04:00
Kristian Høgsberg cd601513f5 glx: Fix linked list deletion in __glXCloseDisplay()
I hate single linked lists.
2010-07-29 16:03:44 -04:00
Kristian Høgsberg 32ea539417 intel: Declare the various tracked state variables using "extern" 2010-07-29 15:45:49 -04:00
Kristian Høgsberg be9276d912 intel: Don't depend on context config values when picking texture formats 2010-07-29 15:45:48 -04:00
Kristian Høgsberg e8a72460b7 egl_dri2: Set API version for DRM display 2010-07-29 15:08:00 -04:00
Marek Olšák d8d7a3e0f9 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.
2010-07-29 20:57:18 +02:00
Marek Olšák 3f4680d8e2 r300g/swtcl: fix crash after the draw_vbo merge 2010-07-29 20:57:17 +02:00
Brian Paul 330852b3b3 llvmpipe: also test the new lp_build_assert() function 2010-07-29 12:51:45 -06:00
Brian Paul d05cb9f018 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.
2010-07-29 12:51:45 -06:00
Brian Paul 8f3fe7e2f0 gallivm: added lp_build_assert() function to make assertions in LLVM code 2010-07-29 12:51:45 -06:00
José Fonseca 02da55676b Revert "gallivm: fix lp_build_sample_offset() crash when indexing a 1-D texture"
This reverts commit 5f90e76c54.

Bad cherry-pick.
2010-07-29 19:38:02 +01:00
Brian Paul 5f90e76c54 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.
2010-07-29 19:19:05 +01:00
Keith Whitwell a258701cd9 util: add uint version of pack_z_stencil
Useful for packing mask values.
2010-07-29 19:15:10 +01:00
José Fonseca bdaa8be5b7 scons: Use the current python executable for code generation.
Less susceptible to be broken.
2010-07-29 19:11:50 +01:00
José Fonseca 111902f2c4 draw: Also emit EMMS on generated LLVM IR. 2010-07-29 19:11:06 +01:00
José Fonseca e3d2ebac11 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
2010-07-29 19:10:59 +01:00
José Fonseca 38f5b1bc38 util: Don't include xmmintrin.h.
Unnecessary.
2010-07-29 19:10:56 +01:00
Brian Paul b4ad7c2843 mesa: implement RCC opcode 2010-07-29 08:23:59 -06:00
Brian Paul 275bae875d mesa: update table of opcodes used by GLSL 2010-07-29 08:23:33 -06:00
Andre Maasikas 9b3bf392e1 r600: since 8744c36e added asserts - use another random register for shader with no output 2010-07-29 15:18:19 +03:00
Chia-I Wu ab25c1597d st/python: Adapt to interface change.
This is only compile tested.
2010-07-29 19:40:21 +08:00
Chia-I Wu d4d62b6178 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.
2010-07-29 16:21:10 +08:00
Chia-I Wu 92f9b05499 gallium: Avoid void pointer arithmetic.
This fixes fdo bug #29286.
2010-07-29 15:55:14 +08:00
Vinson Lee 2bff1a08d9 mesa: Reduce arrayobj.h header file inclusion.
Directly include mtypes.h instead of including context.h to include
mtypes.h.
2010-07-28 23:16:31 -07:00
Vinson Lee 97b416eb67 mesa: Remove unnecessary header. 2010-07-28 23:07:44 -07:00
Chia-I Wu e7f69c459a gallium/docs: Document draw_vbo and set_index_buffer.
Document the new unified drawing method and remove references to old
ones.
2010-07-29 13:45:31 +08:00
Chia-I Wu a57f842519 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.
2010-07-29 13:45:31 +08:00
Chia-I Wu cd3ef7592c gallium: Use unified pipe_context::draw_vbo.
Update u_draw_quad, st/vega, and st/mesa to use pipe_context::draw_vbo.
2010-07-29 13:45:31 +08:00
Chia-I Wu 6d28bf917f 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.
2010-07-29 13:45:30 +08:00
Chia-I Wu c5e9d3114a 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.
2010-07-29 13:45:30 +08:00
Vinson Lee 7e4e79be6b mesa: Remove unnecessary header. 2010-07-28 22:27:52 -07:00
Kristian Høgsberg 2c343af098 egl: Fix deref before NULL-check 2010-07-28 23:54:16 -04:00
Kristian Høgsberg 9456e22c7a intel: Implement EGL_KHR_surfaceless extension 2010-07-28 23:07:09 -04:00
Kristian Høgsberg efd4a8cffd egl_dri2: Implement EGL_KHR_surfaceless_* extensions 2010-07-28 23:07:09 -04:00
Kristian Høgsberg b90a3e7d8b 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.
2010-07-28 23:07:00 -04:00
Kristian Høgsberg aa44bd9189 Untangle gallium/egl/glx source sharing mess and make it compile again 2010-07-28 22:18:58 -04:00
Jerome Glisse 42c1f27149 r600g: state context ptr in sampler_view & add I8/L8 buffer format
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-07-28 20:09:15 -04:00
Jerome Glisse 35e044ab56 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>
2010-07-28 19:59:38 -04:00
Jerome Glisse 6f0f6c6459 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>
2010-07-28 19:36:16 -04:00
Kristian Høgsberg 6849916170 glx: Split indirect and applegl implementations into different files 2010-07-28 16:45:25 -04:00
Kristian Høgsberg c491e585e4 glx: Move bind and unbind to context vtable 2010-07-28 16:45:25 -04:00
Kristian Høgsberg c356f5867f glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04:00
Kristian Høgsberg 66fc35cde9 glx: Rename __GLXscreenConfigs to struct glx_screen
Because double underscores in private type names is painful.
2010-07-28 16:42:00 -04:00
Kristian Høgsberg 38c51a7653 glx: Use _X_EXPORT instead of our own PUBLIC macro
We're an X client library, so we can use Xfuncproto.h.
2010-07-28 16:42:00 -04:00
Kristian Høgsberg 65d98e2577 glx: Rename glcontextmodes.[ch] to glxconfig.[ch] 2010-07-28 16:42:00 -04:00
Kristian Høgsberg 6ddf66e923 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.
2010-07-28 16:42:00 -04:00
Kristian Høgsberg 4f9f066485 glx: Delete unused glcontextmodes.c functions 2010-07-28 16:41:59 -04:00