Commit graph

47575 commits

Author SHA1 Message Date
Ian Romanick
4ad41af616 mesa: Make get_uniform available outside compilation unit
Also rename to _mesa_get_uniform.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2011-11-07 13:33:15 -08:00
Ian Romanick
fa7eccb8c0 mesa: Move the link check from _mesa_get_uniform_location to _mesa_GetUniformLocationARB
There are cases where we might want to internally query the location
of a uniform in a shader that failed linking.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2011-11-07 13:33:15 -08:00
Ian Romanick
f6ee7bce65 linker: Make invalidate_variable_locations available outside the compilation unit
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2011-11-07 13:33:15 -08:00
Ian Romanick
68db407b20 glsl: Allow glsl_types.h to be included in C sources
Some C code will want access to the glsl_base_type and
glsl_sampler_dim enums in the near future.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2011-11-07 13:33:15 -08:00
Ian Romanick
017346f403 mesa: Add string_to_uint_map::clear method to clear the map
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Tom Stellard <thomas.stellard@amd.com>
2011-11-07 13:33:15 -08:00
Ian Romanick
295e07ef51 mesa: Fix error generation for glClearBuffer{i ui}v with GL_DEPTH or GL_STENCIL
The spec says "Only ClearBufferiv should be used to clear
stencil buffers." and "Only ClearBufferfv should be used to clear
depth buffers."  However, on the following page it also says:

    "The result of ClearBuffer is undefined if no conversion between
    the type of the specified value and the type of the buffer being
    cleared is defined (for example, if ClearBufferiv is called for a
    fixed- or floating-point buffer, or if ClearBufferfv is called
    for a signed or unsigned integer buffer). *This is not an error.*"

Emphasis mine.

Fixes problems with piglit's clearbuffer-invalid-drawbuffer test.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-07 13:32:22 -08:00
Brian Paul
f4fb0be605 mesa: fix the selection of soft renderbuffer color formats
This fixes a regression from the recent glReadPixels changes found
with the piglit hiz tests.

Use either MESA_FORMAT_RGBA8888 or MESA_FORMAT_RGBA8888_REV for color
buffers depending on endian-ness.  Before, the gl_renderbuffer::Format
field was MESA_FORMAT_RGBA8888 but the data was really stored as
MESA_FORMAT_RGBA8888_REV when using a little endian machine.

Getting this right matters now that we can access renderbuffer data
without going through the span functions (namely glReadPixels() +
MapRenderbuffer()).
2011-11-07 14:25:48 -07:00
Brian Paul
0ef8c0ddc7 mesa: remove unneeded soft renderbuffer format-setting code
These vars will just get overwritten when we call _mesa_add_renderbuffer()
anyway.  We only need to set the InternalFormat field when we create the
software renderbuffer.

Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-07 14:25:48 -07:00
Brian Paul
87ac3ae50e mesa: fix comment typo in intel_renderbuffer 2011-11-07 14:25:48 -07:00
Brian Paul
46f5ef557f intel: update intel_texture_image comment 2011-11-07 14:25:48 -07:00
Brian Paul
24524784cf intel: wrap comment and fix typo 2011-11-07 14:25:48 -07:00
Brian Paul
377eb5c30c st/mesa: first implementation of Map/UnmapRenderbuffer()
Untested, but also unused at this point.
2011-11-07 14:25:48 -07:00
Brian Paul
32c3957991 xlib: implement renderbuffer mapping/unmapping
This fixes the glReadPixels() regression for reading from the front/back
color buffers.

Note, we only allow one mapping of an XImage/Pixmap renderbuffer
at any time.  That might need to be revisited in the future.
2011-11-07 14:25:47 -07:00
Brian Paul
68c3d21b68 mesa: check for immutable texture in _mesa_test_texobj_completeness()
One of the points of GL_ARB_texture_storage is to make it impossible
to have malformed mipmap stacks.  If we know the texture object is
immutable, we can skip a bunch of size checking.
2011-11-07 14:25:47 -07:00
Brian Paul
b64dc2a275 swrast: update program type assertion
Fixes bogus failed assertion when using NV_fragment_program, such
as with demos/fplight.c

Note: This is a candidate for the 7.11 branch.
2011-11-07 14:25:47 -07:00
Brian Paul
af734468fe st/mesa: clean-up st_translate_interp() 2011-11-07 14:25:47 -07:00
Brian Paul
0d05422c20 st/mesa: add some null pointer checking to better handle out of memory
Reviewed-by: José Fonseca <jfonseca@vmware.com>
2011-11-07 13:25:46 -07:00
Morgan Armand
245edfb005 st/mesa: fix memory leaks
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-11-07 13:25:46 -07:00
Morgan Armand
33ca21fc3c st/mesa: fix indentation
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-11-07 13:25:46 -07:00
Morgan Armand
89d6044b7b softpipe: fix memory leaks
This series of patches is a splitted version of my previous one, as suggested by Brian.

Signed-off-by: Brian Paul <brianp@vmware.com>
2011-11-07 13:25:46 -07:00
Kenneth Graunke
dceb202297 i965: Fix Sandybridge regression introduced by workaround-free math.
Commit a73c65c534 had a typo which
accidentally enabled the workaround-free Gen7 code on Gen6.

Fixes GPU hangs in anything using pow() or integer division/modulus.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-11-07 12:09:02 -08:00
Kenneth Graunke
a73c65c534 i965: Enable faster workaround-free math on Ivybridge.
According to the documentation, Ivybridge's math instruction works in
SIMD16 mode for the fragment shader, and no longer forbids align16 mode
for the vertex shader.

The documentation claims that SIMD16 mode isn't supported for INT DIV,
but empirical evidence shows that it works fine.  Presumably the note
is trying to warn us that the variant that returns both quotient and
remainder in (dst, dst + 1) doesn't work in SIMD16 mode since dst + 1
would be sechalf(dst), trashing half your results.  Since we don't use
that variant, we don't care and can just enable SIMD16 everywhere.

The documentation also still claims that source modifiers and
conditional modifiers aren't supported, but empirical evidence and
study of the simulator both show that they work just fine.

Goodbye workarounds.  Math just works now.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
2011-11-07 11:03:22 -08:00
Marek Olšák
97534d92e2 mesa: add missing checks to compute_version
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-11-07 13:19:58 +01:00
Fabio Pedretti
1401b96bb9 radeon: cleanup radeon shared code after r300 and r600 classic drivers removal
Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-07 09:21:38 +00:00
Kenneth Graunke
4abba27ae0 i965: Fix struct vs class warnings in brw_fs_vector_splitting.cpp.
Makes clang happier.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-11-06 23:02:27 -08:00
Dave Airlie
0d8deb5bc9 llvmpipe: fix typo in the depth sampling aos code.
Just found by reading llvmpipe code for no great reason.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-06 22:32:04 +00:00
Dave Airlie
73c6657596 llvmpipe: enable RGTC after u_format fix.
The two piglit tests pass + render correctly.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-06 22:32:04 +00:00
Dave Airlie
f0d1b5f41a u_format: fix RGTC support in fits 8unorm.
Signed RGTC won't fit in a unorm, so don't allow them.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-06 22:32:04 +00:00
Chia-I Wu
8b64b86a65 scons: add CPP_SOURCES for nv50/nvc0 2011-11-06 14:38:23 -07:00
Chia-I Wu
ad156efe39 android: add CPP_SOURCES for nv50/nvc0 2011-11-06 14:38:23 -07:00
Chia-I Wu
917b8e3814 android: reorder nouveau pipe drivers
To match targerts/dri-nouveau, and to fix a potential

  "undefined reference to `nv50_ir::getTargetNVC0(unsigned int)'"

error.
2011-11-06 14:38:23 -07:00
Dave Airlie
2318443ebd gl3.txt: update for ARB_texture_storage.
As per Brian's suggestion.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-06 19:39:36 +00:00
Dave Airlie
391e33ffbf r600g: add initial linestipple support.
It seems line loop stipple in hardware needs something I don't know, it might
need a proper geometry shader who knows.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-06 12:54:27 +00:00
Christian Inci
3031708e64 gallivm: change sys::getHostTriple to sys::getDefaultTargetTriple for LLVM >= 0x0301
LLVM change r143502

Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
2011-11-06 07:41:10 +00:00
Vinson Lee
adb7f1351e g3dvl: Fix memory leaks on error paths.
Fixes Coverity resource leak defect.

Reviewed-by: Brian Paul <brianp@vmware.com>
2011-11-05 22:09:03 -07:00
Vinson Lee
9288253051 pp: Reorder calloc to avoid memory leak on error path.
Fixes Coverity resource leak defect.

Reviewed-by: Brian Paul <brianp@vmware.com>
2011-11-05 22:06:35 -07:00
Vadim Girlin
e532c710c6 r600g: move SPI setup to PS setup
SPI semantic indices for PS/VS are now static, so we don't
need to update spi config for every shaders combination. We can move
the functionality of r600_spi_update to r600(evergreen)_pipe_shader_ps.

Flatshade state is now controlled by the global FLAT_SHADE_ENA flag
instead of updating FLAT_SHADE for all inputs.

Sprite coord still requires the update of spi setup when
sprite_coord_enable is first changed from zero (enabled), and then
only when it's changed to other non-zero value (enabled for other input).
Change to zero (disabling) and back to the same value is handled via
global SPRITE_COORD_ENA.

New field "sprite_coord_enable" added to "struct r600_pipe_shader"
to track current state for the pixel shader. It's checked in the
r600_update_derived_state.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2011-11-05 17:23:29 -04:00
Vadim Girlin
5b27b63de6 r600g: precalculate semantic indices for SPI setup
There is no need to duplicate semantic mapping which is done in hw, so get
rid of r600_find_vs_semantic_index.

TGSI name/sid pair is mapped to the 8-bit semantic index for SPI.

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2011-11-05 17:23:22 -04:00
Matt Turner
9f52b876f4 docs: fix grammar and punctuation in llvmpipe docs. 2011-11-05 17:11:59 -04:00
Dave Airlie
7494c814ef gl3.txt: add not of ARB_texture_storage work started. 2011-11-05 17:18:57 +00:00
José Fonseca
65d0c840b0 docs: Update llvmpipe docs.
Recommend LLVM 2.9, it has been working quite well, and unlike earlier
versions, it works out-of-the-box without patches.

Update Windows instructions.
2011-11-05 11:00:06 +00:00
Chia-I Wu
95ef069e1c configure.ac: gbm_gallium requires DRI_LIB_DEPS to link
gbm_gallium does not depend on DRI, but its build rules depend on DRI_LIB_DEPS
being set.  Output an error when the user enables gbm_gallium but disables
DRI.  This is just a workaround.
2011-11-05 15:15:21 +08:00
Chia-I Wu
0c771e260b shared-glapi: fix a linking error for SELinux
Link with -lselinux when SELinux is enabled.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41571
2011-11-05 14:42:05 +08:00
Alex Deucher
df121b868a Revert "r600g: precalculate semantic indices for SPI setup"
This reverts commit c15f8569fd.

This breaks r6xx.
2011-11-04 18:33:31 -04:00
Alex Deucher
9212637f34 Revert "r600g: move SPI setup to PS setup"
This reverts commit 9804cf3118.

This breaks r6xx.
2011-11-04 18:32:42 -04:00
Brian Paul
1ca48b3161 svga: fix varying var remapping for unused FS outputs
If the VS has outputs that aren't consumed by the FS we were mapping
them all to one unused VS output index, but that's illegal.  Instead,
map unused VS outputs to unique indexes.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
2011-11-04 16:05:33 -06:00
Brian Paul
0bc15650c1 svga: add comments and reformat code in svga_tgsi_decl_sm30.c 2011-11-04 16:05:33 -06:00
Marek Olšák
d2633af696 st/mesa: set geometry shader to NULL when doing internal drawing
The code expects the geometry shader to be NULL.
We don't have geometry shaders now, but it's good to be prepared.

v2: check for support in the cso context
2011-11-04 23:01:47 +01:00
José Fonseca
794c5158b0 mesa/st: Be nice with the stack -- use malloc for large structures/arrays.
st_translate_program's data was taking 51K off the stack, causing stack
overflow on Windows.
2011-11-04 22:01:17 +00:00
George Sapountzis
cd86a5d2f8 dri: cosmetic
To smooth minor diff between dri_util & drisw_util
2011-11-04 23:33:06 +02:00