Commit Graph

41938 Commits

Author SHA1 Message Date
Christoph Bumiller 419ff10b0e nvc0: recognize r63 as zero in constant folding 2011-01-23 13:03:15 +01:00
Christoph Bumiller bf1df06773 nvc0: add MARK_RING where missing to avoid too many relocs errors 2011-01-23 13:03:10 +01:00
Christoph Bumiller 49f16c96f1 nvc0: don't apply base vertex to per-instance arrays 2011-01-23 13:03:00 +01:00
Christoph Bumiller c18aa3c73f nvc0: commute sources of SET too if beneficial 2011-01-23 13:01:33 +01:00
Christoph Bumiller 8e572998fc nvc0: accept neg abs modifiers on lg2 2011-01-23 13:01:22 +01:00
Ian Romanick 2db46fe5f0 glsl: Don't assert when the value returned by a function has no rvalue
The rvalue of the returned value can be NULL if the shader says
'return foo();' and foo() is a function that returns void.

Existing GLSL specs do *NOT* say that this is an error.  The type of
the return value is void.  If the return type of the function is also
void, then this should compile without error.  I expect that future
versions of the GLSL spec will fix this (wink, wink, nudge, nudge).

Fixes piglit test glsl-1.10/compiler/expressions/return-01.vert and
bugzilla #33308.

NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-01-22 18:04:40 -08:00
Brian Paul 9d380f487a st/mesa: ensure that all pixel paths operation on linear RGB data, not sRGB
Before, we were converting between linear/sRGB in glReadPixels,
glDrawPixels, glAccum, etc if the renderbuffer was an sRGB texture.
Those all need to operate on pixel values as-is without conversion.

Also, when setting up render-to-texture, if the texture is sRGB the
pipe_surface view must be linear RGB.  This will change when we
support GL_ARB_framebuffer_sRGB.

This fixes http://bugs.freedesktop.org/show_bug.cgi?id=33353
2011-01-22 18:33:35 -07:00
Brian Paul 4c9ad084c1 softpipe: pass surface format to get/put_tile functions
When we read/write image tiles we need to use the format specified
in the pipe_surface, not the pipe_transfer format (which comes from
the underlying texture/resource format).

This comes up when rendering to sRGB surfaces (via OpenGL render to
texture).  Ignoring the new GL_ARB/EXT_framebuffer_sRGB extension
for now, when we render to a sRGB surface we need to treat it like
a regular, linear colorspace RGB surface.  Before, when we read/wrote
tiles to sRGB surfaces we were inadvertantly doing the color space
conversion.
2011-01-22 18:33:35 -07:00
Brian Paul e75844b4e0 gallium/util: added pipe_put_tile_rgba_format() 2011-01-22 18:33:35 -07:00
Brian Paul 3ce1ec853b gallium/util: simplify pipe_get_tile_rgba()
Implement it in terms of pipe_get_tile_rgba_format()
2011-01-22 18:33:35 -07:00
Brian Paul 90671fcdda gallium/softpipe: replace pipe_get_tile_swizzle()
The new function, pipe_get_tile_rgba_format(), no longer takes a
swizzle (we weren't actually using it anywhere).  Rename it to
indicate that the format is passed explicitly.
2011-01-22 18:33:35 -07:00
Brian Paul 4e2c077879 softpipe: use proper type for format field 2011-01-22 18:33:35 -07:00
Brian Paul 11fbdf726d gallium/util: added util_format_linear() 2011-01-22 18:33:35 -07:00
Brian Paul 4c251b8861 st/mesa: update comment, use st_fb_orientation() 2011-01-22 18:33:35 -07:00
Brian Paul bd67962c5e st/mesa: comments in update_viewport() 2011-01-22 18:33:35 -07:00
Chia-I Wu bb770af3a5 scons: Add support for GLES.
GLES can be enabled by running scons with

  $ scons gles=yes

When gles=yes is given, the build is changed in three ways.  First,
libmesa.a will be built with FEATURE_ES1 and FEATURE_ES2.  This makes
DRI drivers and libEGL support and advertise GLES support.  Second, GLES
libraries will be created.  They are libGLESv1_CM, libGLESv2, and
libglapi.  Last, libGL or opengl32 will link to libglapi.  This change
is required as _glapi_* will be declared as __declspec(dllimport) in
libmesa.a on windows.  libmesa.a expects those symbols to be defined in
another DLL.  Due to this change to GL, GLES support is marked
experimental.

Note that GLES requires libxml2-python to generate some of its sources.
2011-01-22 11:59:05 +08:00
Chia-I Wu 3f04314ae2 mapi: ENTRY_CURRENT_TABLE_GET should be stringified.
So that it can be renamed to _glapi_get_dispatch.
2011-01-22 11:58:38 +08:00
Kenneth Graunke 0db3161036 glcpp: Regenerate parser files. 2011-01-21 15:41:19 -08:00
Kenneth Graunke 6ecee54a9a glcpp: Remove use of talloc reference counting.
We almost always want to simply steal; we only need to copy when copying
a token list (in which case we're already cloning stuff anyway).
2011-01-21 15:41:19 -08:00
Kenneth Graunke e256e4743c glsl, i965: Remove unnecessary talloc includes.
These are already picked up by ir.h or glsl_types.h.
2011-01-21 15:41:19 -08:00
Kenneth Graunke 819f92deaa ra: Use the same context when realloc'ing arrays.
The original allocations use regs->regs as the context, so talloc will
happily ignore the context given here.  Change it to match to clarify
that it isn't changing.
2011-01-21 15:39:57 -08:00
Chad Versace b66be7518a glsl: Improve error message when read-only vars are written
Improves the cases when:
* an explicit assignment references the read-only variable
* an 'out' or 'inout' function parameter references the read-only variable
2011-01-21 14:06:28 -08:00
Chad Versace 01a584d093 glsl: Mark 'in' variables at global scope as read-only
Fixes Piglit tests:
spec/glsl-1.30/compiler/storage-qualifiers/static-write-centroid-in-01.frag
spec/glsl-1.30/compiler/storage-qualifiers/static-write-in-01.frag
spec/glsl-1.30/compiler/storage-qualifiers/static-write-in-02.frag
2011-01-21 14:06:28 -08:00
Chad Versace f633b993b0 glsl: Remove unused class ast_declaration_statment 2011-01-21 14:06:25 -08:00
Jakob Bornecrantz 8af583f6e8 i915g: Don't (un)map vbuf on each (un)map call 2011-01-21 20:53:29 +01:00
Jakob Bornecrantz 0c3352b6df i915g: Don't do unnecessary copies of constants
Even tho st/mesa use user buffers for constants align buffers
other state trackers doesn't use user buffers.
2011-01-21 20:53:29 +01:00
Jakob Bornecrantz 2e60aa511d i915g: Don't emit FS constants when VS contants change 2011-01-21 20:53:29 +01:00
Jakob Bornecrantz 7287964f94 i915g: Use slab allocator for transfers
Also remove unused i915_transfer struct
2011-01-21 20:53:29 +01:00
Jakob Bornecrantz 484edfc815 st/dri: Fix warning 2011-01-21 20:53:29 +01:00
Christian König a40305dcdb r600g: check if hardware blits are possible bevore enabling tilling 2011-01-21 19:47:24 +01:00
Alex Deucher 4b3789427f r600g: FLT_TO_INT_FLOOR is trans instruction
Add missing evergreen FLT_TO_INT_FLOOR instruction.
2011-01-21 12:41:23 -05:00
Dave Airlie a637280e42 mesa: EXT_framebuffer_sRGB interface additions.
This adds the get/enable enums and internal gl_config storage
for this extension.

In theory this is all that is needed to enable this extension
from what I can see, since its not mandatory to implement the
features if you don't advertise the visuals or the fb configs.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-01-21 19:56:13 +10:00
Andre Maasikas 634e889bb5 r600c: get OQ results only for 4 DBs on r600 class
- since evergreen addition which increased this to 8 depth backends
  other bytes may contain garbage values
2011-01-21 11:48:03 +02:00
Brian Paul af4e2f4665 docs: update README.WIN32 per Karl's request 2011-01-20 18:52:53 -07:00
Ian Romanick 2fb0aebd4a intel: Fix typeos from 3d028024 and 790ff232
...and remove egg from face.
2011-01-20 13:51:07 -08:00
Ian Romanick 790ff232e2 i915: Set correct values for range/precision of fragment shader types 2011-01-20 13:35:59 -08:00
Ian Romanick 3d028024e5 i965: Set correct values for range/precision of fragment shader types 2011-01-20 13:35:59 -08:00
Ian Romanick 04dca296e0 mesa: Set correct values for range/precision of shader integer types 2011-01-20 13:35:59 -08:00
Ian Romanick dde3270c19 mesa: Connect glGetShaderPrecisionFormat into the dispatch table 2011-01-20 13:35:59 -08:00
Brian Paul 37233f1ee0 softpipe: check for null pointers during context create/destroy
See http://bugs.freedesktop.org/show_bug.cgi?id=32309
Apparently, malloc() is failing during context creation.  Not
checking for nulls here led to crashes elsewhere.
2011-01-20 13:46:57 -07:00
Brian Paul 4ef955a12a graw: fix logic error in pixel format selection
The loop to choose a pixel format for the window was incrementing
'i' after we succeeded in creating the window so if we chose format[0]
for graw_create_window_and_screen() we were putting format[1] in
the pipe_resource template for creating the render target.

This only worked because of the order of the elements in the formats[]
array.

The graw_xlib.c code now properly compares the requested gallium pixel
format against the visual's color layout.

Update all the graw demos to fix the off-by-one-i error.
2011-01-20 13:37:26 -07:00
Ian Romanick 22eeb1b331 Fix the build from 887d2b64
Thanks to all the include frobbing, GLuint is not known in some places
that included enums.h.
2011-01-20 11:30:14 -08:00
Brian Paul 887d2b647b mesa: clean-up _mesa_lookup_prim_by_nr()
Remove the redundant public _mesa_prim_name[] array.
2011-01-20 09:44:33 -07:00
Brian Paul fe49dcb3b0 mesa: move extra prim mode #defines 2011-01-20 09:44:33 -07:00
Brian Paul b62e78c783 vbo: added comment 2011-01-20 09:44:33 -07:00
Brian Paul cfae745a8b mesa: minor formatting fixes 2011-01-20 09:10:03 -07:00
Brian Paul 7330f8b2bc st/mesa: clean up the sampler view format code 2011-01-20 08:56:36 -07:00
Brian Paul 751fe9058b mesa: document sRGBDecode field 2011-01-20 08:56:36 -07:00
Brian Paul f579a05a9f st/mesa: formatting, whitespace fixes 2011-01-20 08:56:32 -07:00
Andre Maasikas c20778e76f r600c: bump sq gpr resources if a shader needs more than default
ideally this should be set once in the beginning of CS but there's
no way to change values there while in the middle of rendering.
For now reemitting SQ setup seems to work probably due to
r700WaitForIdleClean after each render

currently does not to try to decrease values once increased

fixes hangs in glsl-vs-vec4-indexing-temp-src-in-nested-loop-combined
glsl-vs-vec4-indexing-temp-dst-in-nested-loop-combined for my rv740
maybe more for other chips
2011-01-20 13:11:56 +02:00