Zack Rusin [Wed, 7 Apr 2010 21:46:55 +0000 (17:46 -0400)]
draw llvm: highly reduce the compilation times for draw llvm
our code resets pipe_vertex_buffer's with different offsets when rendering
vbo, meaning that we kept creating insane number of shaders even for simple
apps e.g. geartrain had 54 shaders and it was taking almost 27 seconds just to
compile them. this patch passes pipe_vertex_buffer's to the jit function and lets
it to the stride/buffer_offset computation at run time. the slowdown at runtime
is largely unnoticable but the we go from 54 shaders to 3, and from 27 seconds to less
than 1.
José Fonseca [Wed, 7 Apr 2010 21:17:07 +0000 (22:17 +0100)]
gallivm: Get the format translation logic write.
José Fonseca [Wed, 7 Apr 2010 21:16:18 +0000 (22:16 +0100)]
util: Support fixed formats conversion.
José Fonseca [Wed, 7 Apr 2010 20:00:18 +0000 (21:00 +0100)]
util: Add copyright header to u_half.h
José Fonseca [Wed, 7 Apr 2010 20:00:05 +0000 (21:00 +0100)]
util: Remove the half typedef from p_compiler.h.
Unnecessary, and doesn't even guarantee size.
José Fonseca [Wed, 7 Apr 2010 19:55:31 +0000 (20:55 +0100)]
llvmpipe: Add missing include.
José Fonseca [Wed, 7 Apr 2010 19:47:38 +0000 (20:47 +0100)]
util: Use stubs for the dynamically loaded S3TC functions.
Loosely based on Luca Barbieri's commit
52e9b990a192a9329006d5f7dd2ac222effea5a5.
José Fonseca [Wed, 7 Apr 2010 19:41:09 +0000 (20:41 +0100)]
draw: Fix MSVC build (snprintf->util_snprintf).
José Fonseca [Wed, 7 Apr 2010 18:58:18 +0000 (19:58 +0100)]
util: Remove u_tile.c YCbCr's.
Superseded by u_format_yuv.c. Also PIPE_FORMAT_YUYV's interpretation was
inconsistent: it was being interpreted as VYUY.
José Fonseca [Wed, 7 Apr 2010 18:47:24 +0000 (19:47 +0100)]
util: Implement YUV and subsampled RGB format conversion.
Brian Paul [Wed, 7 Apr 2010 13:09:52 +0000 (07:09 -0600)]
draw: init draw->pt.middle.general = NULL just to be safe
This field should be null from the initial calloc() of the draw context,
but let's be safe (and improve understanding of the code).
José Fonseca [Wed, 7 Apr 2010 12:49:29 +0000 (13:49 +0100)]
llvmpipe: Fix USE_DRAW_LLVM build. Use lp_build_engine.
Michel Dänzer [Wed, 7 Apr 2010 09:21:15 +0000 (11:21 +0200)]
r300: Initialize compiler.max_temp_regs for blits.
Blits were broken since commit
e41a64591bf1a74465bf0adc7d35c991c4cfb4fe
('r300/compiler: make the max number of fragment shader temporaries
adjustable').
Vinson Lee [Wed, 7 Apr 2010 08:04:45 +0000 (01:04 -0700)]
draw llvm: Remove unnecessary headers.
Vinson Lee [Wed, 7 Apr 2010 07:45:40 +0000 (00:45 -0700)]
gallium: Add files to Makefile.
This was missed in commit
ae69f9fbf0a1aab7186e5b644085a5fe5aea99af.
New files from the gallium_draw_llvm merge were added to SCons but
not make.
Vinson Lee [Wed, 7 Apr 2010 06:48:00 +0000 (23:48 -0700)]
llvmpipe: Remove unused variable.
Ben Skeggs [Wed, 7 Apr 2010 05:41:17 +0000 (15:41 +1000)]
nouveau: allow multiple simultaneous maps of a pipe_transfer
I'm not entirely convinced we want this behaviour (the underlying nouveau_bo
doesn't support it either), but since certain parts of the mesa state
tracker appear to require it lets make it work for now.
Ben Skeggs [Wed, 7 Apr 2010 05:06:59 +0000 (15:06 +1000)]
nv50: fix assertion that caused piglit texturing/texrect-many to fail
Zack Rusin [Wed, 7 Apr 2010 02:41:11 +0000 (22:41 -0400)]
scons: define DRAW_LLVM if we're building it
Zack Rusin [Wed, 7 Apr 2010 00:27:17 +0000 (20:27 -0400)]
draw llvm: disable printing of the LLVM ir
Marc Dietrich [Tue, 6 Apr 2010 21:44:08 +0000 (23:44 +0200)]
cell: fix build
compile fix for cell driver.
Signed-off-by: Brian Paul <brianp@vmware.com>
Brian Paul [Wed, 7 Apr 2010 02:20:13 +0000 (20:20 -0600)]
gallium/draw: add additional DRAW_LLVM check
Fixes build breakage.
Zack Rusin [Wed, 7 Apr 2010 00:09:08 +0000 (20:09 -0400)]
Merge branch 'gallium_draw_llvm'
José Fonseca [Tue, 6 Apr 2010 21:49:57 +0000 (22:49 +0100)]
llvmpipe: Support S3TC when util_format_s3tc_enabled is set.
José Fonseca [Tue, 6 Apr 2010 21:49:33 +0000 (22:49 +0100)]
gallivm: Fallback to calling util_format_description::fetch_float for any format we can't code LLVM IR directly.
José Fonseca [Tue, 6 Apr 2010 21:37:08 +0000 (22:37 +0100)]
gallivm: Move the global LLVM objects (module, engine, provider, target) into here.
Zack Rusin [Tue, 6 Apr 2010 21:14:30 +0000 (17:14 -0400)]
llvmpipe: use a define to decide whether to use draw llvm paths
right now disabled by default
Zack Rusin [Tue, 6 Apr 2010 21:14:13 +0000 (17:14 -0400)]
draw llvm: disable debugging output
Zack Rusin [Tue, 6 Apr 2010 20:28:48 +0000 (16:28 -0400)]
draw llvm: implement simple pipeline caching using variants
Zack Rusin [Tue, 6 Apr 2010 16:37:31 +0000 (12:37 -0400)]
draw llvm: fix iteration for larger vertex arrays
we were trying to store the outputs starting at the same offset we
were using for the input arrays, which was writing beyond the end of
the output array.
Zack Rusin [Tue, 6 Apr 2010 16:07:33 +0000 (12:07 -0400)]
draw llvm: iterate with the correct stop over the outputs
it's whatever the var step is (4 usually) not an unconditional 1
Michal Krol [Tue, 6 Apr 2010 15:19:28 +0000 (17:19 +0200)]
util: Respect destination stride in pipe_get_tile_swizzle().
Zack Rusin [Tue, 6 Apr 2010 15:00:35 +0000 (11:00 -0400)]
draw llvm: fix draw arrays
we don't index within the outputs but only within the inputs
José Fonseca [Sun, 4 Apr 2010 19:43:52 +0000 (20:43 +0100)]
util: Make half float lookup tables constant.
José Fonseca [Sun, 4 Apr 2010 19:14:55 +0000 (20:14 +0100)]
util: Remove the hand written SRGB format support code.
José Fonseca [Sun, 4 Apr 2010 19:12:02 +0000 (20:12 +0100)]
util: Support all SRGB formats.
Based on code from Brian Paul and Michal Krol.
Chia-I Wu [Tue, 6 Apr 2010 11:52:39 +0000 (19:52 +0800)]
egl_dri2: Flush before context switch and swap buffers.
DRI does not define any callback to flush the current context. GLX
loader simply calls glFlush. Follow the GLX loader here.
Chia-I Wu [Tue, 6 Apr 2010 10:55:40 +0000 (18:55 +0800)]
st/dri: Implement DRI image extension.
Chia-I Wu [Tue, 6 Apr 2010 10:06:03 +0000 (18:06 +0800)]
progs/egl: Correctly check GL_OES_EGL_image.
The hack was added because GL_OES_EGL_image was not exported in the
extension string.
Chia-I Wu [Tue, 6 Apr 2010 09:46:17 +0000 (17:46 +0800)]
mesa: Add OES_EGL_image to extension list.
Chia-I Wu [Tue, 6 Apr 2010 05:24:24 +0000 (13:24 +0800)]
progs/egl: Fix the blank window in pbuffer demo.
EGL requires eglSwapBuffers to be called on the current surface.
Chia-I Wu [Tue, 6 Apr 2010 05:17:56 +0000 (13:17 +0800)]
progs/egl: Port drawtex and torus to eglut.
This brings the demos also to KMS and removes about 400 duplicated lines
of code.
Brian Paul [Tue, 6 Apr 2010 04:04:56 +0000 (22:04 -0600)]
st/mesa: reformatting
Brian Paul [Tue, 6 Apr 2010 03:59:05 +0000 (21:59 -0600)]
st/mesa: put fragment wpos code into separate function
Zack Rusin [Tue, 6 Apr 2010 04:13:20 +0000 (00:13 -0400)]
draw llvm: fix loop iteration and vertex header offsets
the loop was doing a NE comparison which we could have skipped if the prim
was triangles (3 verts) and our step was 4 verts. also fix offsets in conversion
to aos.
Chia-I Wu [Tue, 6 Apr 2010 03:51:25 +0000 (11:51 +0800)]
egl: Unbind the old context in _eglBindContext.
The last commit incorrectly moved the code under an "else".
Chia-I Wu [Mon, 5 Apr 2010 13:26:34 +0000 (21:26 +0800)]
egl: Fix eglMakeCurrent with different surfaces.
0a82fadcdd0b6ebbc345c7c302da0e0efce40a98 seems to trigger a bug in
_eglBindContext. Rework the logics yet again. It is simpler, and
hopefully correct this time.
Chia-I Wu [Mon, 5 Apr 2010 10:38:55 +0000 (18:38 +0800)]
st/es: Remove unnedded --whole-archive.
All public functions in the archives are either directly referenced or
indirectly referenced by _glapi_get_proc_address. There is no need for
--whole-archive.
Vinson Lee [Tue, 6 Apr 2010 01:13:09 +0000 (18:13 -0700)]
scons: Link expat in dri builds.
Fixes this i915g error.
i915_dri.so: undefined symbol: XML_ParserCreate
Brian Paul [Mon, 5 Apr 2010 23:33:12 +0000 (17:33 -0600)]
mesa: added Makefile.egl to GALLIUM_FILES
Thierry Vignaud [Mon, 5 Apr 2010 23:31:18 +0000 (17:31 -0600)]
mesa: add missing file to GALLIUM_FILES
Signed-off-by: Brian Paul <brianp@vmware.com>
Zack Rusin [Mon, 5 Apr 2010 20:43:53 +0000 (16:43 -0400)]
draw llvm: when generating the vertex_header struct adjust its name
change the name to not clash and accuretly represent the number of inputs
we store in the data member
Marek Olšák [Sun, 4 Apr 2010 21:15:15 +0000 (23:15 +0200)]
st/mesa: trivially enable GL_EXT_gpu_program_parameters
Marek Olšák [Mon, 5 Apr 2010 17:39:55 +0000 (19:39 +0200)]
r300g: enforce microtiled zbuffer from X server
This should be relatively safe, I think.
Marek Olšák [Mon, 5 Apr 2010 16:52:55 +0000 (18:52 +0200)]
r300g: typecast using the r300_texture function
Brian Paul [Mon, 5 Apr 2010 14:09:57 +0000 (08:09 -0600)]
mesa: remove unused var
Fixes a coverity warnings.
Brian Paul [Mon, 5 Apr 2010 14:01:29 +0000 (08:01 -0600)]
i965g: change value of VERT_RESULT_PSIZ hack to avoid warnings
Brian Paul [Mon, 5 Apr 2010 14:01:05 +0000 (08:01 -0600)]
mesa: check for _NEW_BUFFERS for color read format queries
Brian Paul [Tue, 30 Mar 2010 19:36:10 +0000 (13:36 -0600)]
util: added util_dl_error()
Ian Romanick [Mon, 5 Apr 2010 06:07:30 +0000 (23:07 -0700)]
Merge branch '7.8'
Ian Romanick [Mon, 5 Apr 2010 06:06:01 +0000 (23:06 -0700)]
Update to final names from GLX_INTEL_swap_event spec
Fixes bug #27454.
Marek Olšák [Mon, 5 Apr 2010 05:01:52 +0000 (07:01 +0200)]
r300g: enable OpenGL 2.1 on r3xx-r4xx chipsets
Marek Olšák [Mon, 5 Apr 2010 04:26:11 +0000 (06:26 +0200)]
r300g: add fallback for back stencil reference value and masks for r3xx-r4xx
This splits rendering into two passes when front and back stencil
reference value, value mask, or write mask don't match.
The advantages of doing it in the driver instead of in st are:
* SWTCL is executed just once and the resulting vertex buffer is reused
in the second pass.
* Lower driver overhead due to the fallback being very close to
the actual draw emission with minimum state change.
Marek Olšák [Mon, 5 Apr 2010 01:19:08 +0000 (03:19 +0200)]
r300g: simplify accessing screen from context
Marek Olšák [Mon, 5 Apr 2010 00:44:16 +0000 (02:44 +0200)]
r300g: remove some XXXs
We can't have more than 8 texcoord outputs in VS.
Marek Olšák [Mon, 5 Apr 2010 00:11:26 +0000 (02:11 +0200)]
r300g: raise the number of texture units to 16 for all supported chipsets
As per Radeon 9700 Opengl Programming and Optimization Guide [1], there are
16 texture units even on the first r300 chipsets. If you think I am wrong,
feel free to propose a patch.
[1] Here's PDF: http://people.freedesktop.org/~mareko/
Marek Olšák [Sun, 14 Feb 2010 22:57:46 +0000 (23:57 +0100)]
r300/compiler: make the max number of fragment shader temporaries adjustable
Marek Olšák [Sun, 4 Apr 2010 14:09:59 +0000 (16:09 +0200)]
r300g: is_npot -> uses_pitch
Marek Olšák [Sun, 4 Apr 2010 07:58:40 +0000 (09:58 +0200)]
r300g: enable conditional rendering also for SWTCL
Vinson Lee [Mon, 5 Apr 2010 02:15:01 +0000 (19:15 -0700)]
progs: Include X11 headers and libraries in SCons build.
Fixes Mac OS X SCons build.
Vinson Lee [Mon, 5 Apr 2010 01:28:03 +0000 (18:28 -0700)]
glut: Include X11 headers and libraries in SCons build.
Fixes Mac OS X SCons build.
Vinson Lee [Mon, 5 Apr 2010 01:07:12 +0000 (18:07 -0700)]
glew: Include X11 headers and libraries in SCons build.
Fixes Mac OS X SCons build.
Brian Paul [Mon, 5 Apr 2010 01:08:21 +0000 (19:08 -0600)]
docs: update status of transform feedback and instanced drawing
Brian Paul [Mon, 5 Apr 2010 00:28:41 +0000 (18:28 -0600)]
mesa: don't turn on GL_EXT_transform_feedback yet
Brian Paul [Mon, 5 Apr 2010 00:22:46 +0000 (18:22 -0600)]
st/mesa: call pipe_context::draw_arrays/elements_instanced()
Brian Paul [Mon, 5 Apr 2010 00:21:16 +0000 (18:21 -0600)]
mesa: implement core Mesa support for GL_ARB_draw_instanced
Brian Paul [Mon, 5 Apr 2010 00:18:28 +0000 (18:18 -0600)]
mesa: new validation functions for GL_ARB_draw_instanced
Brian Paul [Mon, 5 Apr 2010 00:17:06 +0000 (18:17 -0600)]
mesa: new extension flag for GL_EXT/ARB_draw_instanced
Brian Paul [Mon, 5 Apr 2010 00:15:30 +0000 (18:15 -0600)]
glapi: regenerated files for GL_ARB_draw_instanced
Brian Paul [Mon, 5 Apr 2010 00:14:49 +0000 (18:14 -0600)]
glapi: plug in ARB_draw_instanced.xml
Brian Paul [Mon, 5 Apr 2010 00:14:03 +0000 (18:14 -0600)]
glapi: ARB_draw_instanced.xml file
Ian Romanick [Sun, 4 Apr 2010 23:54:00 +0000 (16:54 -0700)]
Merge branch '7.8'
Ian Romanick [Sun, 4 Apr 2010 23:53:41 +0000 (16:53 -0700)]
gl: updated glxext.h to version 27
Chia-I Wu [Mon, 1 Mar 2010 07:21:46 +0000 (15:21 +0800)]
progs/egl: Add an OpenGL ES demo for EGL_OES_image_pixmap.
The demo uses a Pixmap as its drawing area, and whatever is drawn on the
pixmap will be used as a texture to draw a cube.
Chia-I Wu [Thu, 25 Feb 2010 15:10:47 +0000 (23:10 +0800)]
st/mesa: Implement GL_OES_EGL_image driver hooks.
Use st_manager::get_egl_image to look up GLeglImageOES and implement
EGLImageTargetTexture2D and EGLImageTargetRenderbufferStorage.
Chia-I Wu [Fri, 12 Mar 2010 01:56:11 +0000 (09:56 +0800)]
st/egl: Implement get_egl_image hook.
This hook may be used by rendering state trackers to implement EGLImage
extensions.
Dave Airlie [Sun, 4 Apr 2010 10:31:42 +0000 (20:31 +1000)]
r300g: fix TFP stride override.
We should use pitch for the overriden state, fixes one half of the tfp test.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Sun, 4 Apr 2010 06:59:09 +0000 (08:59 +0200)]
r300g: add conditional rendering
Marek Olšák [Sun, 21 Feb 2010 17:22:18 +0000 (18:22 +0100)]
r300g: add r4xx fragment shader registers
In case anyone needs it, it's here.
Marek Olšák [Sun, 4 Apr 2010 01:54:09 +0000 (03:54 +0200)]
r300g: do not use the c++ template keyword
It makes life for some code browsing utilites easier.
Marek Olšák [Sat, 3 Apr 2010 15:08:45 +0000 (17:08 +0200)]
r300g: properly setup textures from X server
The setup needs be done after querying tiling flags.
Vinson Lee [Sat, 3 Apr 2010 19:14:21 +0000 (12:14 -0700)]
util: Use GCC atomic bultins on GCC 4.1 and higher only.
Jeremy Huddleston [Thu, 1 Apr 2010 19:28:41 +0000 (12:28 -0700)]
xdemos: Build object files first
This helps debugging on darwin.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Dave Airlie [Sat, 3 Apr 2010 11:52:09 +0000 (21:52 +1000)]
r300g: fix color tiling for buffer from X server.
The tiling setup needs a bit of work, but this should be good enough for now,
when we get buffers from the kernel we need to store their tiling properties.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Brian Paul [Sat, 3 Apr 2010 04:38:18 +0000 (22:38 -0600)]
mesa: display list support for GL_EXT_transform_feedback
Brian Paul [Sat, 3 Apr 2010 04:38:00 +0000 (22:38 -0600)]
mesa: plug in GL_EXT_transform_feedback functions into dispatch
Brian Paul [Sat, 3 Apr 2010 04:37:30 +0000 (22:37 -0600)]
glapi: regenerated files for EXT_transform_feedback
Brian Paul [Sat, 3 Apr 2010 04:36:30 +0000 (22:36 -0600)]
glapi: include/build EXT_transform_feedback.xml
Brian Paul [Sat, 3 Apr 2010 04:35:56 +0000 (22:35 -0600)]
glapi: new EXT_transform_feedback.xml file
Brian Paul [Sat, 3 Apr 2010 04:32:52 +0000 (22:32 -0600)]
glapi: fix error message