mesa.git
14 years agollvmpipe: Fix USE_DRAW_LLVM build. Use lp_build_engine.
José Fonseca [Wed, 7 Apr 2010 12:49:29 +0000 (13:49 +0100)]
llvmpipe: Fix USE_DRAW_LLVM build. Use lp_build_engine.

14 years agor300: Initialize compiler.max_temp_regs for blits.
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').

14 years agodraw llvm: Remove unnecessary headers.
Vinson Lee [Wed, 7 Apr 2010 08:04:45 +0000 (01:04 -0700)]
draw llvm: Remove unnecessary headers.

14 years agogallium: Add files to Makefile.
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.

14 years agollvmpipe: Remove unused variable.
Vinson Lee [Wed, 7 Apr 2010 06:48:00 +0000 (23:48 -0700)]
llvmpipe: Remove unused variable.

14 years agonouveau: allow multiple simultaneous maps of a pipe_transfer
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.

14 years agonv50: fix assertion that caused piglit texturing/texrect-many to fail
Ben Skeggs [Wed, 7 Apr 2010 05:06:59 +0000 (15:06 +1000)]
nv50: fix assertion that caused piglit texturing/texrect-many to fail

14 years agoscons: define DRAW_LLVM if we're building it
Zack Rusin [Wed, 7 Apr 2010 02:41:11 +0000 (22:41 -0400)]
scons: define DRAW_LLVM if we're building it

14 years agodraw llvm: disable printing of the LLVM ir
Zack Rusin [Wed, 7 Apr 2010 00:27:17 +0000 (20:27 -0400)]
draw llvm: disable printing of the LLVM ir

14 years agocell: fix build
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>
14 years agogallium/draw: add additional DRAW_LLVM check
Brian Paul [Wed, 7 Apr 2010 02:20:13 +0000 (20:20 -0600)]
gallium/draw: add additional DRAW_LLVM check

Fixes build breakage.

14 years agoMerge branch 'gallium_draw_llvm'
Zack Rusin [Wed, 7 Apr 2010 00:09:08 +0000 (20:09 -0400)]
Merge branch 'gallium_draw_llvm'

14 years agollvmpipe: Support S3TC when util_format_s3tc_enabled is set.
José Fonseca [Tue, 6 Apr 2010 21:49:57 +0000 (22:49 +0100)]
llvmpipe: Support S3TC when util_format_s3tc_enabled is set.

14 years agogallivm: Fallback to calling util_format_description::fetch_float for any format...
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.

14 years agogallivm: Move the global LLVM objects (module, engine, provider, target) into here.
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.

14 years agollvmpipe: use a define to decide whether to use draw llvm paths
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

14 years agodraw llvm: disable debugging output
Zack Rusin [Tue, 6 Apr 2010 21:14:13 +0000 (17:14 -0400)]
draw llvm: disable debugging output

14 years agodraw llvm: implement simple pipeline caching using variants
Zack Rusin [Tue, 6 Apr 2010 20:28:48 +0000 (16:28 -0400)]
draw llvm: implement simple pipeline caching using variants

14 years agodraw llvm: fix iteration for larger vertex arrays
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.

14 years agodraw llvm: iterate with the correct stop over the outputs
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

14 years agoutil: Respect destination stride in pipe_get_tile_swizzle().
Michal Krol [Tue, 6 Apr 2010 15:19:28 +0000 (17:19 +0200)]
util: Respect destination stride in pipe_get_tile_swizzle().

14 years agodraw llvm: fix draw arrays
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

14 years agoutil: Make half float lookup tables constant.
José Fonseca [Sun, 4 Apr 2010 19:43:52 +0000 (20:43 +0100)]
util: Make half float lookup tables constant.

14 years agoutil: Remove the hand written SRGB format support code.
José Fonseca [Sun, 4 Apr 2010 19:14:55 +0000 (20:14 +0100)]
util: Remove the hand written SRGB format support code.

14 years agoutil: Support all SRGB formats.
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.

14 years agoegl_dri2: Flush before context switch and swap buffers.
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.

14 years agost/dri: Implement DRI image extension.
Chia-I Wu [Tue, 6 Apr 2010 10:55:40 +0000 (18:55 +0800)]
st/dri: Implement DRI image extension.

14 years agoprogs/egl: Correctly check GL_OES_EGL_image.
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.

14 years agomesa: Add OES_EGL_image to extension list.
Chia-I Wu [Tue, 6 Apr 2010 09:46:17 +0000 (17:46 +0800)]
mesa: Add OES_EGL_image to extension list.

14 years agoprogs/egl: Fix the blank window in pbuffer demo.
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.

14 years agoprogs/egl: Port drawtex and torus to eglut.
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.

14 years agost/mesa: reformatting
Brian Paul [Tue, 6 Apr 2010 04:04:56 +0000 (22:04 -0600)]
st/mesa: reformatting

14 years agost/mesa: put fragment wpos code into separate function
Brian Paul [Tue, 6 Apr 2010 03:59:05 +0000 (21:59 -0600)]
st/mesa: put fragment wpos code into separate function

14 years agodraw llvm: fix loop iteration and vertex header offsets
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.

14 years agoegl: Unbind the old context in _eglBindContext.
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".

14 years agoegl: Fix eglMakeCurrent with different surfaces.
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.

14 years agost/es: Remove unnedded --whole-archive.
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.

14 years agoscons: Link expat in dri builds.
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

14 years agomesa: added Makefile.egl to GALLIUM_FILES
Brian Paul [Mon, 5 Apr 2010 23:33:12 +0000 (17:33 -0600)]
mesa: added Makefile.egl to GALLIUM_FILES

14 years agomesa: add missing file 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>
14 years agodraw llvm: when generating the vertex_header struct adjust its name
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

14 years agost/mesa: trivially enable GL_EXT_gpu_program_parameters
Marek Olšák [Sun, 4 Apr 2010 21:15:15 +0000 (23:15 +0200)]
st/mesa: trivially enable GL_EXT_gpu_program_parameters

14 years agor300g: enforce microtiled zbuffer from X server
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.

14 years agor300g: typecast using the r300_texture function
Marek Olšák [Mon, 5 Apr 2010 16:52:55 +0000 (18:52 +0200)]
r300g: typecast using the r300_texture function

14 years agomesa: remove unused var
Brian Paul [Mon, 5 Apr 2010 14:09:57 +0000 (08:09 -0600)]
mesa: remove unused var

Fixes a coverity warnings.

14 years agoi965g: change value of VERT_RESULT_PSIZ hack to avoid 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

14 years agomesa: check for _NEW_BUFFERS for color read format queries
Brian Paul [Mon, 5 Apr 2010 14:01:05 +0000 (08:01 -0600)]
mesa: check for _NEW_BUFFERS for color read format queries

14 years agoutil: added util_dl_error()
Brian Paul [Tue, 30 Mar 2010 19:36:10 +0000 (13:36 -0600)]
util: added util_dl_error()

14 years agoMerge branch '7.8'
Ian Romanick [Mon, 5 Apr 2010 06:07:30 +0000 (23:07 -0700)]
Merge branch '7.8'

14 years agoUpdate to final names from GLX_INTEL_swap_event spec
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.

14 years agor300g: enable OpenGL 2.1 on r3xx-r4xx chipsets
Marek Olšák [Mon, 5 Apr 2010 05:01:52 +0000 (07:01 +0200)]
r300g: enable OpenGL 2.1 on r3xx-r4xx chipsets

14 years agor300g: add fallback for back stencil reference value and masks for r3xx-r4xx
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.

14 years agor300g: simplify accessing screen from context
Marek Olšák [Mon, 5 Apr 2010 01:19:08 +0000 (03:19 +0200)]
r300g: simplify accessing screen from context

14 years agor300g: remove some XXXs
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.

14 years agor300g: raise the number of texture units to 16 for all supported chipsets
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/

14 years agor300/compiler: make the max number of fragment shader temporaries adjustable
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

14 years agor300g: is_npot -> uses_pitch
Marek Olšák [Sun, 4 Apr 2010 14:09:59 +0000 (16:09 +0200)]
r300g: is_npot -> uses_pitch

14 years agor300g: enable conditional rendering also for SWTCL
Marek Olšák [Sun, 4 Apr 2010 07:58:40 +0000 (09:58 +0200)]
r300g: enable conditional rendering also for SWTCL

14 years agoprogs: Include X11 headers and libraries in SCons build.
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.

14 years agoglut: Include X11 headers and libraries in 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.

14 years agoglew: Include X11 headers and libraries in 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.

14 years agodocs: update status of transform feedback and instanced drawing
Brian Paul [Mon, 5 Apr 2010 01:08:21 +0000 (19:08 -0600)]
docs: update status of transform feedback and instanced drawing

14 years agomesa: don't turn on GL_EXT_transform_feedback yet
Brian Paul [Mon, 5 Apr 2010 00:28:41 +0000 (18:28 -0600)]
mesa: don't turn on GL_EXT_transform_feedback yet

14 years agost/mesa: call pipe_context::draw_arrays/elements_instanced()
Brian Paul [Mon, 5 Apr 2010 00:22:46 +0000 (18:22 -0600)]
st/mesa: call pipe_context::draw_arrays/elements_instanced()

14 years agomesa: implement core Mesa support for GL_ARB_draw_instanced
Brian Paul [Mon, 5 Apr 2010 00:21:16 +0000 (18:21 -0600)]
mesa: implement core Mesa support for GL_ARB_draw_instanced

14 years agomesa: new validation functions 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

14 years agomesa: new extension flag for GL_EXT/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

14 years agoglapi: regenerated files for GL_ARB_draw_instanced
Brian Paul [Mon, 5 Apr 2010 00:15:30 +0000 (18:15 -0600)]
glapi: regenerated files for GL_ARB_draw_instanced

14 years agoglapi: plug in ARB_draw_instanced.xml
Brian Paul [Mon, 5 Apr 2010 00:14:49 +0000 (18:14 -0600)]
glapi: plug in ARB_draw_instanced.xml

14 years agoglapi: ARB_draw_instanced.xml file
Brian Paul [Mon, 5 Apr 2010 00:14:03 +0000 (18:14 -0600)]
glapi: ARB_draw_instanced.xml file

14 years agoMerge branch '7.8'
Ian Romanick [Sun, 4 Apr 2010 23:54:00 +0000 (16:54 -0700)]
Merge branch '7.8'

14 years agogl: updated glxext.h to version 27
Ian Romanick [Sun, 4 Apr 2010 23:53:41 +0000 (16:53 -0700)]
gl: updated glxext.h to version 27

14 years agoprogs/egl: Add an OpenGL ES demo for EGL_OES_image_pixmap.
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.

14 years agost/mesa: Implement GL_OES_EGL_image driver hooks.
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.

14 years agost/egl: Implement get_egl_image hook.
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.

14 years agor300g: fix TFP stride override.
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>
14 years agor300g: add conditional rendering
Marek Olšák [Sun, 4 Apr 2010 06:59:09 +0000 (08:59 +0200)]
r300g: add conditional rendering

14 years agor300g: add r4xx fragment shader registers
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.

14 years agor300g: do not use the c++ template keyword
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.

14 years agor300g: properly setup textures from X server
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.

14 years agoutil: Use GCC atomic bultins on GCC 4.1 and higher only.
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.

14 years agoxdemos: Build object files first
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>
14 years agor300g: fix color tiling for buffer from X server.
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>
14 years agomesa: display list support for GL_EXT_transform_feedback
Brian Paul [Sat, 3 Apr 2010 04:38:18 +0000 (22:38 -0600)]
mesa: display list support for GL_EXT_transform_feedback

14 years agomesa: plug in GL_EXT_transform_feedback functions into dispatch
Brian Paul [Sat, 3 Apr 2010 04:38:00 +0000 (22:38 -0600)]
mesa: plug in GL_EXT_transform_feedback functions into dispatch

14 years agoglapi: regenerated files for EXT_transform_feedback
Brian Paul [Sat, 3 Apr 2010 04:37:30 +0000 (22:37 -0600)]
glapi: regenerated files for EXT_transform_feedback

14 years agoglapi: include/build EXT_transform_feedback.xml
Brian Paul [Sat, 3 Apr 2010 04:36:30 +0000 (22:36 -0600)]
glapi: include/build EXT_transform_feedback.xml

14 years agoglapi: new EXT_transform_feedback.xml file
Brian Paul [Sat, 3 Apr 2010 04:35:56 +0000 (22:35 -0600)]
glapi: new EXT_transform_feedback.xml file

14 years agoglapi: fix error message
Brian Paul [Sat, 3 Apr 2010 04:32:52 +0000 (22:32 -0600)]
glapi: fix error message

14 years agor300 compiler: add target output debugging.
Dave Airlie [Sat, 3 Apr 2010 02:17:57 +0000 (12:17 +1000)]
r300 compiler: add target output debugging.

print the output target in the FP debug.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agoutil: Revert unsolicited, untested, unreviewed, and broken changes to format support.
José Fonseca [Fri, 2 Apr 2010 23:51:19 +0000 (00:51 +0100)]
util: Revert unsolicited, untested, unreviewed, and broken changes to format support.

Not all is bad, but I'm afraid I'll have to throw the baby with the water
given they are all tied to together.

14 years agopython/tests: Output test results in a format that Hudson CI can understand.
José Fonseca [Fri, 2 Apr 2010 18:39:16 +0000 (19:39 +0100)]
python/tests: Output test results in a format that Hudson CI can understand.

14 years agodraw llvm: fix storing of outputs for the rest of the pipeline
Zack Rusin [Fri, 2 Apr 2010 22:52:32 +0000 (18:52 -0400)]
draw llvm: fix storing of outputs for the rest of the pipeline

there's no good way of aligning the output's, and since the vertex_header
is variable sized in the first place we need to extract elements from a vector
and store them individually into an array. this gets the basic examples working
again

14 years agogallium/docs: Dithering might not actually do anything.
Corbin Simpson [Fri, 2 Apr 2010 21:25:38 +0000 (14:25 -0700)]
gallium/docs: Dithering might not actually do anything.

14 years agor300g: Expound on dithering comment.
Corbin Simpson [Fri, 2 Apr 2010 21:21:50 +0000 (14:21 -0700)]
r300g: Expound on dithering comment.

14 years agor300g: make dithering work like fglrx.
Dave Airlie [Fri, 2 Apr 2010 21:00:03 +0000 (07:00 +1000)]
r300g: make dithering work like fglrx.

From fglrx traces the dithering is never enabled.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agogallium: fix dri_destroy_option_cache() when optionCache.info is NULL
Yann Droneaud [Fri, 2 Apr 2010 13:44:26 +0000 (13:44 +0000)]
gallium: fix dri_destroy_option_cache() when optionCache.info is NULL

With an Intel 855GM handled by intel_drv, there's a crash with Gallium3D
enabled DRI driver for Intel i915 (--enable-gallium-intel).
The Gallium3D driver doesn't support the 855GM as expected by
intel_drv, it failed to open the screen and give an half
initialized screen structure to dri_destroy_option_cache():
optionCache.info is NULL, so it's crashing while trying
to free array content. This patch at least fix the crash in the function.

Here's some logs of the fixed version:

[ 16274.137] LoaderOpen(/opt/mesa/lib/xorg/modules/drivers/intel_drv.so)
[ 16274.139] (II) Loading /opt/mesa/lib/xorg/modules/drivers/intel_drv.so
[ 16274.183] (II) Module intel: vendor="X.Org Foundation"
[ 16274.183]    compiled for 1.8.0, module version = 2.11.0
[ 16274.183]    Module class: X.Org Video Driver
[ 16274.183]    ABI class: X.Org Video Driver, version 7.0
[ 16274.183] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
        i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
        E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
        965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
        4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale
[ 16274.382] (II) intel(0): Integrated Graphics Chipset: Intel(R) 855GME
[ 16274.382] (--) intel(0): Chipset: "852GM/855GM"
[ 16276.675] (II) intel(0): [DRI2] Setup complete
[ 16276.675] (II) intel(0): [DRI2]   DRI driver: i915
debug_get_option: GALLIUM_TRACE = (null)
debug_get_bool_option: GALLIUM_RBUG = FALSE
debug_get_bool_option: INTEL_DUMP_CMD = FALSE
i915_create_screen: unknown pci id 0x3582, cannot create screen
dri_init_screen_helper: failed to create pipe_screen
[ 16276.794] (EE) AIGLX error: Calling driver entry point failed
[ 16276.794] (EE) AIGLX: reverting to software rendering
[ 16276.794] (II) AIGLX: Screen 0 is not DRI capable
[ 16276.796] (II) AIGLX: Loaded and initialized /opt/mesa/lib/dri/swrast_dri.so
[ 16276.796] (II) GLX: Initialized DRISWRAST GL provider for screen 0

Signed-off-by: Yann Droneaud <yann@droneaud.fr>
Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
14 years agodraw llvm: fix translation of formats with variable components
Zack Rusin [Fri, 2 Apr 2010 19:56:34 +0000 (15:56 -0400)]
draw llvm: fix translation of formats with variable components

14 years agollvmpipe: limit max texture size to 2Kx2K for now
Brian Paul [Fri, 2 Apr 2010 15:17:47 +0000 (09:17 -0600)]
llvmpipe: limit max texture size to 2Kx2K for now

MAXWIDTH/HEIGHT were 2048 but the max texture size was 4096.
This caused a crash if a 4Kx4K texture was created and rendered to.
See comment about max framebuffer size in lp_scene.h.

Also added assertions to catch this inconsistancy in the future.

14 years agogallivm: Add fallthrough comment at end of case statement.
Vinson Lee [Fri, 2 Apr 2010 08:14:24 +0000 (01:14 -0700)]
gallivm: Add fallthrough comment at end of case statement.

The code is correct. Tell Coverity that the fallthrough case is
intentional.