Chia-I Wu [Sat, 13 Mar 2010 09:39:14 +0000 (17:39 +0800)]
st/glx: Correctly set buffer_mask of a visual.
Stupid typos again..
Chia-I Wu [Sat, 13 Mar 2010 09:00:24 +0000 (17:00 +0800)]
st/mesa: Set revalidate in st_framebuffer_update_attachments.
There are two conditions that a validation is required. One is when the
the framebuffer becomes invalid. The other is when we request for
textures that we did not request before.
Chia-I Wu [Sat, 13 Mar 2010 07:57:15 +0000 (15:57 +0800)]
st/glx: Make xmesa_create_st_api a callback of xm_driver.
Instead of guessing the API in st/glx, let the target decide how to
create st_api.
Chia-I Wu [Sat, 13 Mar 2010 06:57:32 +0000 (14:57 +0800)]
st/egl: Fix eglCopyBuffers.
Use a (real) pipe context to copy between pipe surfaces. Fix a NULL
dereference of the temporary native surface created for copying.
Chia-I Wu [Fri, 12 Mar 2010 16:52:47 +0000 (00:52 +0800)]
st/glx: Fix leaks in xmesa_st_framebuffer.
The textures and surface of a framebuffer should be unreferenced when
the framebuffer is destroyed.
Chia-I Wu [Fri, 12 Mar 2010 05:26:18 +0000 (13:26 +0800)]
st/glx: Add xm_st.c to SConscript.
Chia-I Wu [Fri, 12 Mar 2010 03:27:50 +0000 (11:27 +0800)]
st/mesa: Check the format before adding depth/stencil buffers.
The format might have depth bits, stencil bits, or both. Add the
renderbuffers as needed.
Chia-I Wu [Fri, 12 Mar 2010 03:20:27 +0000 (11:20 +0800)]
st/glx: Return a better format in choose_depth_stencil_format.
Return a better format instead of an exact format in
choose_depth_stencil_format. Also, prefer formats with stencil bits.
Chia-I Wu [Fri, 12 Mar 2010 02:04:47 +0000 (10:04 +0800)]
st/glx: Fix an infinite recursion in flush_front.
It was a stupid typo by me when I refactored the code.
Chia-I Wu [Wed, 10 Mar 2010 09:22:56 +0000 (17:22 +0800)]
st/glx: Use st_api.h instead of st_public.h.
Chia-I Wu [Thu, 14 Jan 2010 08:05:36 +0000 (16:05 +0800)]
st/egl: Use st_api.h instead of st_public.h.
Switch from st_public.h to st_api.h. The latter has intrinsic multiple
APIs support and allows various EGLImage extensions to be supported.
Chia-I Wu [Sun, 7 Feb 2010 12:17:48 +0000 (20:17 +0800)]
winsys/xlib, st/es: Advertise st_api.h support.
This is done by defining one of st_module_OpenGL_ES1,
st_module_OpenGL_ES2, and st_module_OpenGL.
Chia-I Wu [Sun, 7 Feb 2010 11:20:52 +0000 (19:20 +0800)]
st/mesa: Implement st_api.h.
There is currently no user of this new interface. As the inteface can
coexist with st_public.h, everthing should work as before.
ST_TEXTURE_2D is both defined by st_public.h and st_api.h. Reorder the
headers in st/dri to avoid conflicts.
Chia-I Wu [Thu, 14 Jan 2010 04:19:32 +0000 (12:19 +0800)]
st/vega: Implement st_api.h.
There is currently no user of this new interface. As the inteface can
coexist with st_public.h, everthing should work as before.
Chia-I Wu [Sat, 6 Feb 2010 16:52:02 +0000 (00:52 +0800)]
gallium: Add st_api.h.
This is a new interface to be implemented by st/mesa, st/vesa, and the
window system APIs such as EGL or GLX.
Brian Paul [Thu, 11 Mar 2010 23:26:52 +0000 (16:26 -0700)]
gallivm: checkpoint WIP cubemap code
Brian Paul [Thu, 11 Mar 2010 23:26:12 +0000 (16:26 -0700)]
gallivm: added lp_build_sum_vector()
Brian Paul [Thu, 11 Mar 2010 23:23:36 +0000 (16:23 -0700)]
softpipe: further tighen up sample_cube()
The code can fairly easily be translated to llvm...
Brian Paul [Thu, 11 Mar 2010 22:29:11 +0000 (15:29 -0700)]
softpipe: tighten up the code in sample_cube()
Brian Paul [Thu, 11 Mar 2010 21:42:26 +0000 (14:42 -0700)]
gallivm: enable 3D texture sampling
Brian Paul [Thu, 11 Mar 2010 21:42:11 +0000 (14:42 -0700)]
progs/demos: added 'f' key to toggle filtering mode in stex3d.c
Brian Paul [Thu, 11 Mar 2010 21:46:06 +0000 (14:46 -0700)]
gallivm/llvmpipe: replace 'int stride' with 'int row_stride[MAX_LEVELS]'
The stride depends on the mipmap level. Rename to row_stride to
distinguish from img_stride for 3D textures.
Fixes incorrect texel addressing in small mipmap levels.
Brian Paul [Thu, 11 Mar 2010 21:03:33 +0000 (14:03 -0700)]
llvmpipe: fix comment typo
Brian Paul [Thu, 11 Mar 2010 20:57:52 +0000 (13:57 -0700)]
gallivm/llvmpipe: include os_llvm.h instead of llvm-c/Core.h
Brian Paul [Thu, 11 Mar 2010 21:00:48 +0000 (14:00 -0700)]
gallium/os: wrapper for llvm-c/Core.h and #define HAVE_LLVM if needed
Alex Deucher [Thu, 11 Mar 2010 18:48:28 +0000 (13:48 -0500)]
r200: support additional blit formats
swizzle in the pixel shader
Brian Paul [Thu, 11 Mar 2010 18:17:15 +0000 (11:17 -0700)]
gallivm: fix some bugs on the 1D texture paths
Roland Scheidegger [Thu, 11 Mar 2010 17:54:14 +0000 (18:54 +0100)]
st/mesa: don't enable extensions which aren't actually supported
don't enable APPLE_client_storage, TDFX_texture_compression_FXT1,
EXT_cull_vertex, NV_vertex_program, NV_vertex_program1_1 -
the latter two might work somewhat with some luck.
Also don't enable ARB_imaging.
Karl Schultz [Thu, 11 Mar 2010 16:17:05 +0000 (09:17 -0700)]
windows: Add new file to project file.
Brian Paul [Thu, 11 Mar 2010 15:52:03 +0000 (08:52 -0700)]
gallivm: include tgsi_dump.h to silence warning
Brian Paul [Thu, 11 Mar 2010 15:51:44 +0000 (08:51 -0700)]
gallivm: move declarations to silence unused var warnings
Brian Paul [Thu, 11 Mar 2010 15:51:18 +0000 (08:51 -0700)]
gallium/util: use memset() to initialize vars to avoid warnings
Brian Paul [Thu, 11 Mar 2010 15:50:39 +0000 (08:50 -0700)]
svga: use memset() to initialize u to avoid warnings
José Fonseca [Thu, 11 Mar 2010 15:36:51 +0000 (15:36 +0000)]
gallivm: Use bitmasks for scalar masks.
We could use single 1 bit conditions for scalar masks, but a lot of code
expects masks. The compiler easily optimzes away masks
extensions/truncations so consistency is preferable.
We can revisit this when LLVM backends have more support for vector
conditions.
José Fonseca [Thu, 11 Mar 2010 15:33:40 +0000 (15:33 +0000)]
gallivm: Handle scalar types in lp_build_*_type.
Chia-I Wu [Thu, 11 Mar 2010 10:13:18 +0000 (18:13 +0800)]
mesa/es: Validate the state in st_DrawTex.
Without the validation, the function might draw with outdated textures.
Chia-I Wu [Thu, 11 Mar 2010 10:07:07 +0000 (18:07 +0800)]
mesa/es: Fix GL_OES_draw_texture support.
st_DrawTex calls util_draw_vertex_buffer. Since
ac4abaecd5f52e416c89bfe19b34ed7f4e014b21, the caller is expected to set
vertex elements before calling.
José Fonseca [Thu, 11 Mar 2010 11:43:04 +0000 (11:43 +0000)]
softpipe: Dummy fence functions.
Marek Olšák [Sat, 6 Mar 2010 16:36:44 +0000 (17:36 +0100)]
st/dri: move extension initilization to st/mesa completely
Extensions were enabled in both st/mesa and st/dri, with st/dri completely
overriding the decisions of st/mesa and exposing even the extensions claimed
to be unsupported by a pipe driver.
This commit moves the differences between the two to st/mesa and removes
the responsibilty of advertising extensions from st/dri.
Michel Dänzer [Thu, 11 Mar 2010 11:14:05 +0000 (12:14 +0100)]
Merge remote branch 'origin/7.8'
Vinson Lee [Thu, 11 Mar 2010 08:18:09 +0000 (00:18 -0800)]
winsys/xlib: Fix memory leak.
Memory for xm_dt was allocated twice.
Vinson Lee [Thu, 11 Mar 2010 08:10:26 +0000 (00:10 -0800)]
progs/fpglsl: Fix GLSL compilation failures on Mac OS X.
Marek Olšák [Sat, 6 Mar 2010 17:09:16 +0000 (18:09 +0100)]
st/mesa: always advertise texture_rectangle
Brian Paul [Thu, 11 Mar 2010 01:07:52 +0000 (18:07 -0700)]
gallivm: overhaul of texture sampling code
The new lp_build_sample_general() function will handle all sampling
modes for all texture types. Still incomplete, but a few additional
sampling modes are now supported.
1D textures should work and most of the code for 3D textures is in place.
No support for cube maps yet. No support for different min/mag filters.
Brian Paul [Thu, 11 Mar 2010 01:07:13 +0000 (18:07 -0700)]
gallivm: handle scalar floats in lp_build_floor() and lp_build_iround()
Brian Paul [Thu, 11 Mar 2010 01:06:02 +0000 (18:06 -0700)]
gallivm: constant building for scalar zero
Brian Paul [Wed, 10 Mar 2010 22:38:17 +0000 (15:38 -0700)]
gallivm: implement bilinear sampling with nearest mipmapping
Time to start consolidating some code...
Brian Paul [Wed, 10 Mar 2010 22:12:19 +0000 (15:12 -0700)]
gallivm: remove debug code. nearest minification works now.
Brian Paul [Wed, 10 Mar 2010 22:11:49 +0000 (15:11 -0700)]
llvmpipe: fix loop over mipmap levels
Jakob Bornecrantz [Sat, 6 Feb 2010 16:58:32 +0000 (16:58 +0000)]
st/xorg: Include cursorstr.h
Francisco Jerez [Wed, 10 Mar 2010 22:51:06 +0000 (23:51 +0100)]
dri/nouveau: Just reemit the BO state on pushbuf flush.
Reemitting dirty states on flush causes problems if the GL context
isn't fully consistent when we get to it. It didn't serve any specific
purpose, so, use nouveau_bo_state_emit instead.
Eric Anholt [Wed, 10 Mar 2010 22:46:27 +0000 (14:46 -0800)]
i965: Use the PLN instruction when possible in interpolation.
Saves an instruction in PINTERP, LINTERP, and PIXEL_W from
brw_wm_glsl.c For non-GLSL it isn't used yet because the deltas have
to be laid out differently.
Eric Anholt [Wed, 10 Mar 2010 21:51:24 +0000 (13:51 -0800)]
i965: Set up the execution size before relying on it.
Fixes hangs with texturing in the non-GLSL path since
f6d210c284751ac50a8d6358de7e75a1ff1e4ac7
Karl Schultz [Wed, 10 Mar 2010 22:58:10 +0000 (15:58 -0700)]
windows: fix compilation errors and warnings
Jose Fonseca [Wed, 10 Mar 2010 22:22:30 +0000 (17:22 -0500)]
gallivm: simplify conditional branching
Instead of testing each component individually, we can test the entire
vector at once.
Zack Rusin [Wed, 10 Mar 2010 21:36:20 +0000 (16:36 -0500)]
gallivm: properly test the if condition and branch to the proper label
makes loops work
Zack Rusin [Tue, 9 Mar 2010 20:09:15 +0000 (15:09 -0500)]
gallivm: implement loops
Karl Schultz [Wed, 10 Mar 2010 21:27:34 +0000 (14:27 -0700)]
windows: Quiet warning by not defining YY_NO_UNISTD_H.
Brian Paul [Wed, 10 Mar 2010 21:35:57 +0000 (14:35 -0700)]
progs/trivial: use -c option to use glCopyPixels()
Otherwise we use glRead/DrawPixels to copy the off-screen FBO image
into the window.
Looks like NVIDIA's broken when using -c (the image is upside down),
but OK with -c -t.
Brian Paul [Wed, 10 Mar 2010 21:32:56 +0000 (14:32 -0700)]
progs/trivial: make clear-fbo-scissor.c work with other GL drivers
NVIDIA's driver requires that the texture that we're going to render into
be complete. Need to set min/mag filters to non-mipmap modes.
Plus added other error/debug checks.
Maciej Cencora [Wed, 10 Mar 2010 21:31:53 +0000 (22:31 +0100)]
radeon: fallback to sw ReadPixels if color logicop is enabled
Fixes glean/logicOp (regressed after introducing hw accelerated support for ReadPixels)
Maciej Cencora [Wed, 10 Mar 2010 21:28:53 +0000 (22:28 +0100)]
r300: enable depth test only if depth buffer is available
Fixes #23532 and piglit/fbo-nodepth-test piglit/fbo-nostencil-test
Maciej Cencora [Wed, 10 Mar 2010 19:53:21 +0000 (20:53 +0100)]
radeon: fix glCopyTex(Sub)Image if user FBO is bound
Fixes piglit/fbo-blit and wine d3d9 unit test.
Zack Rusin [Wed, 10 Mar 2010 21:31:18 +0000 (16:31 -0500)]
fpglsl: a few more useful glsl tests
Karl Schultz [Wed, 10 Mar 2010 21:27:34 +0000 (14:27 -0700)]
windows: Quiet warning by not defining YY_NO_UNISTD_H.
José Fonseca [Wed, 10 Mar 2010 20:36:42 +0000 (20:36 +0000)]
llvmpipe: Finally found a way to do vector comparisons without using intrinsics.
Only works well with LLVM >= 2.7
Zack Rusin [Wed, 10 Mar 2010 20:42:26 +0000 (15:42 -0500)]
fpglsl: set an integer uniform required by the loop example
Zack Rusin [Wed, 10 Mar 2010 20:37:18 +0000 (15:37 -0500)]
fpglsl: add some for and while loops
Brian Paul [Wed, 10 Mar 2010 20:09:00 +0000 (13:09 -0700)]
softpipe: fix memcpy params to avoid static analysis warnings
See fd.o bug 26970. Also added sanity check assertions.
Brian Paul [Wed, 10 Mar 2010 19:19:26 +0000 (12:19 -0700)]
progs/trivial: add -t (RTT) option for clear-fbo-scissor.c
Eric Anholt [Wed, 10 Mar 2010 19:00:40 +0000 (11:00 -0800)]
i965: Add support for the CMP opcode in the GLSL path.
This would be triggered by use of sqrt() along with control flow.
Fixes piglit-fs-sqrt-branch and a bug in Yo Frankie!.
Eric Anholt [Wed, 10 Mar 2010 18:51:13 +0000 (10:51 -0800)]
i965: Print the opcode name for unrecognized opcodes in the GLSL path.
Brian Paul [Wed, 10 Mar 2010 18:51:44 +0000 (11:51 -0700)]
progs/trivial: added clear-fbo-scissor.c to test scissored clear of FBO
Eric Anholt [Wed, 10 Mar 2010 18:38:20 +0000 (10:38 -0800)]
i965: Fix the response len of masked sampler messages for 8-wide dispatch.
The bad response length would hang the GPU with a masked sample in a
shader using control flow. For 8-wide, the response length is always
4, and masked slots are just not written to. brw_wm_glsl.c already
allocates registers in the right locations.
Fixes piglit glsl-fs-bug25902 (fd.o bug #25902).
Eric Anholt [Wed, 10 Mar 2010 17:31:49 +0000 (09:31 -0800)]
i965: Print the offset for IFF in disasm
José Fonseca [Wed, 10 Mar 2010 18:04:28 +0000 (18:04 +0000)]
Revert "scons: Refuse to use LLVM 2.7 for now."
This reverts commit
44703217f73095c4946e06057e399e447b252576.
http://www.llvm.org/bugs/show_bug.cgi?id=6429 has been fixed now. Things
appear to be working reasonably so far.
Brian Paul [Wed, 10 Mar 2010 17:59:02 +0000 (10:59 -0700)]
progs/tests: add additional FBO->window test paths (disabled)
Normally use glReadPixels + glDrawPixels. Add debug/test paths for
glCopyPixels and glBlitFramebuffer.
Brian Paul [Wed, 10 Mar 2010 17:54:24 +0000 (10:54 -0700)]
mesa: raise an error when trying to bind non-existant texture to FBO
If the user calls glRenderBufferTexture(texture=N) but texture N
doesn't name an existing texture, raise GL_INVALID_ENUM.
Plus, add a comment about some questionable error checking code in
framebuffer_texture(). Ian?
Brian Paul [Wed, 10 Mar 2010 17:53:21 +0000 (10:53 -0700)]
mesa: added new function comments
Brian Paul [Wed, 10 Mar 2010 17:50:17 +0000 (10:50 -0700)]
st/mesa: set strb->format field in st_render_texture()
This fixes a problem in glReadPixels when reading from an FBO's texture
attachment. We have a better chance at hitting a fast path for
glReadPixels now.
Brian Paul [Wed, 10 Mar 2010 17:49:18 +0000 (10:49 -0700)]
st/mesa: add some comments in glReadPixels code
Brian Paul [Wed, 10 Mar 2010 17:48:10 +0000 (10:48 -0700)]
st/mesa: consolidate duplicated texture allocation code
Brian Paul [Wed, 10 Mar 2010 17:44:12 +0000 (10:44 -0700)]
Merge branch '7.8'
Brian Paul [Wed, 10 Mar 2010 17:42:22 +0000 (10:42 -0700)]
st/mesa: fix incorrect glCopyPixels between window/FBO
There was a DrawBuffer/ReadBuffer typo and we were neglecting to invert
the texture coords when copying from a window to an FBO.
Plus, add some surface dump/debug code (disabled).
(cherry picked from commit
34f02071618624263eba839b5aeb930d0e794078)
Brian Paul [Wed, 10 Mar 2010 17:41:22 +0000 (10:41 -0700)]
st/mesa: fix incorrect glDrawPixels into FBO
We weren't inverting the textured quad when drawing into an fbo.
(cherry picked from commit
8d3f629a13afb0d6acafc7a007972fdc5efe6847)
Michel Dänzer [Wed, 10 Mar 2010 17:33:17 +0000 (18:33 +0100)]
Merge branch '7.8'
Michel Dänzer [Wed, 10 Mar 2010 17:26:25 +0000 (18:26 +0100)]
st/xorg: Work around cursor reference counting bugs in older X servers.
Could result in use of freed memory and consequently random crashes, e.g. on
screen resize.
(cherry picked from commit
21c91b410a2a2cbf8eb677e59e3322f86320f2b0)
Conflicts:
src/gallium/state_trackers/xorg/xorg_tracker.h
Alex Deucher [Wed, 10 Mar 2010 09:31:56 +0000 (04:31 -0500)]
r200: add additional blit formats
Alex Deucher [Wed, 10 Mar 2010 09:19:42 +0000 (04:19 -0500)]
r100: add additional blit formats
Alex Deucher [Wed, 10 Mar 2010 00:44:23 +0000 (19:44 -0500)]
radeon/r200/r600: enable HW accelerated gl(Read/Copy/Draw)Pixels
George Sapountzis [Tue, 9 Mar 2010 22:43:01 +0000 (00:43 +0200)]
glapi: fix bug with tls and relocs
add_dispatch (driver) and maybe get_proc_address (client) may be called before
set_dispatch is called, which results in generate_entrypoint using an unreloced
function template.
George Sapountzis [Mon, 8 Mar 2010 01:10:30 +0000 (03:10 +0200)]
glapi: these two should be ok for add_dispatch ...
- a function cannot be both static and extension, right ?
- we should be setting the offset only if not already set, right ?
George Sapountzis [Mon, 8 Mar 2010 00:53:57 +0000 (02:53 +0200)]
glapi: comments for _glapi_add_dispatch
George Sapountzis [Sun, 7 Mar 2010 23:58:59 +0000 (01:58 +0200)]
glapi: minor cosmetic for _glapi_add_dispatch
George Sapountzis [Sun, 7 Mar 2010 23:55:10 +0000 (01:55 +0200)]
glapi: add function set_entry_info
George Sapountzis [Sun, 7 Mar 2010 23:40:14 +0000 (01:40 +0200)]
glapi: parameter checking, failure paths, ... for add_function_name
George Sapountzis [Sun, 7 Mar 2010 23:26:01 +0000 (01:26 +0200)]
glapi: cosmetic for _glapi_add_dispatch
- static vs. extension
- indent
- s/new_offset/static_offset/
- ...
George Sapountzis [Sun, 7 Mar 2010 23:18:31 +0000 (01:18 +0200)]
glapi: use get_extension_proc in _glapi_add_dispatch
George Sapountzis [Sat, 6 Mar 2010 19:19:45 +0000 (21:19 +0200)]
glapi: cosmetic for functions for static table
make similar to functions for extensions table
George Sapountzis [Sun, 7 Mar 2010 21:04:52 +0000 (23:04 +0200)]
glapi: add function to find extension by name