summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* i915g: Improve constant handlingJakob Bornecrantz2011-01-241-7/+17
|
* r300g: Increase fragment shader limits for r400 cardsTom Stellard2011-01-233-39/+88
| | | | | r400 fragment shaders now support up to 64 temporary registers, 512 ALU instructions, and 512 TEX instructions.
* nvc0: implement point coord replacementChristoph Bumiller2011-01-234-11/+59
| | | | | | | | | | | But we have to cheat and peek at the GENERIC semantic indices the state tracker uses for TEXn. Only outputs from 0x300 to 0x37c can be replaced, and so we have to know on shader compilation which ones to put there in order to keep doing separate shader objects properly. At some point I'll probably create a patch that makes gallium not force us to discard the information about what is a TexCoord.
* vega: sort filenames in Makefile, SConscriptBrian Paul2011-01-232-23/+24
|
* r300g: support sRGB colorbuffersMarek Olšák2011-01-232-6/+52
| | | | | | We are not required to do the linear->sRGB conversion if ARB_framebuffer_sRGB is unsupported. However I think the conversion should work in hw except for blending, which matches the D3D9 behavior.
* r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák2011-01-234-1/+25
| | | | | The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
* nvc0: fix emit_cvt for ceil, floor and truncChristoph Bumiller2011-01-232-13/+22
|
* nvc0: remove bad assert and emit TEMP movs insteadChristoph Bumiller2011-01-231-2/+1
|
* nvc0: fix address and value slot assignment in load combiningChristoph Bumiller2011-01-231-1/+6
|
* nvc0: don't omit highest bit of branch targetChristoph Bumiller2011-01-231-1/+1
| | | | Fixes negative relative branch offsets.
* nvc0: recognize r63 as zero in constant foldingChristoph Bumiller2011-01-233-13/+9
|
* nvc0: add MARK_RING where missing to avoid too many relocs errorsChristoph Bumiller2011-01-236-4/+19
|
* nvc0: don't apply base vertex to per-instance arraysChristoph Bumiller2011-01-231-1/+3
|
* nvc0: commute sources of SET too if beneficialChristoph Bumiller2011-01-232-2/+2
|
* nvc0: accept neg abs modifiers on lg2Christoph Bumiller2011-01-231-1/+1
|
* softpipe: pass surface format to get/put_tile functionsBrian Paul2011-01-221-10/+12
| | | | | | | | | | | | | 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.
* gallium/util: added pipe_put_tile_rgba_format()Brian Paul2011-01-222-1/+18
|
* gallium/util: simplify pipe_get_tile_rgba()Brian Paul2011-01-221-20/+1
| | | | Implement it in terms of pipe_get_tile_rgba_format()
* gallium/softpipe: replace pipe_get_tile_swizzle()Brian Paul2011-01-223-70/+20
| | | | | | 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.
* softpipe: use proper type for format fieldBrian Paul2011-01-221-1/+1
|
* gallium/util: added util_format_linear()Brian Paul2011-01-221-1/+41
|
* scons: Add support for GLES.Chia-I Wu2011-01-225-4/+30
| | | | | | | | | | | | | | | | | | 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.
* i915g: Don't (un)map vbuf on each (un)map callJakob Bornecrantz2011-01-211-4/+12
|
* i915g: Don't do unnecessary copies of constantsJakob Bornecrantz2011-01-215-25/+32
| | | | | Even tho st/mesa use user buffers for constants align buffers other state trackers doesn't use user buffers.
* i915g: Don't emit FS constants when VS contants changeJakob Bornecrantz2011-01-215-11/+31
|
* i915g: Use slab allocator for transfersJakob Bornecrantz2011-01-215-21/+55
| | | | Also remove unused i915_transfer struct
* st/dri: Fix warningJakob Bornecrantz2011-01-211-0/+1
|
* r600g: check if hardware blits are possible bevore enabling tillingChristian König2011-01-211-41/+40
|
* r600g: FLT_TO_INT_FLOOR is trans instructionAlex Deucher2011-01-211-0/+1
| | | | Add missing evergreen FLT_TO_INT_FLOOR instruction.
* softpipe: check for null pointers during context create/destroyBrian Paul2011-01-201-5/+21
| | | | | | 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.
* graw: fix logic error in pixel format selectionBrian Paul2011-01-2010-54/+96
| | | | | | | | | | | | | | | 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.
* glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu2011-01-202-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | When --enable-shared-glapi is specified, libGL will share libglapi with OpenGL ES instead of defining its own copy of glapi. This makes sure an app will get only one copy of glapi in its address space. The new option is disabled by default. When enabled, libGL and libglapi must be built from the same source tree and distributed together. This requirement comes from the fact that the dispatch offsets used by these libraries are re-assigned whenever GLAPI XMLs are changed. For GLX, indirect rendering for has_different_protocol() functions is tricky. A has_different_protocol() function is assigned only one dispatch offset, yet each entry point needs a different protocol opcode. It cannot be supported by the shared glapi. The fix to this is to make glXGetProcAddress handle such functions specially before calling _glapi_get_proc_address. Note that these files are automatically generated/re-generated src/glx/indirect.c src/glx/indirect.h src/mapi/glapi/glapi_mapi_tmp.h
* softpipe: Bind samplers to views instead of the underlying resource.Henri Verbeet2011-01-195-55/+39
| | | | Signed-off-by: Brian Paul <[email protected]>
* softpipe: Get rid of the redundant resource parameter to get_sampler_variant().Henri Verbeet2011-01-191-5/+1
| | | | Signed-off-by: Brian Paul <[email protected]>
* llvmpipe: implement TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFSBrian Paul2011-01-191-3/+14
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=33284
* r600g: fix segfault if texture operand is a literalChristian König2011-01-191-1/+3
| | | | This fixes Bug 33262
* gallium/docs: document result type for some types of queriesBrian Paul2011-01-191-0/+2
|
* r600g: fix reserve_cfile for R700+Christian König2011-01-191-19/+17
| | | | | | According to R700 ISA we have only two channels for cfile constants. This patch makes piglit tests "glsl1-constant array with constant indexing" happy on RV710.
* llvmpipe: make sure binning is active when we begin/end a queryBrian Paul2011-01-181-0/+4
| | | | | | | This fixes a potential failure when a begin/end_query is the first thing to happen after flushing the scene. NOTE: This is a candidate for the 7.10 and 7.9 branches.
* softpipe: rename some functions for consistencyBrian Paul2011-01-181-7/+7
|
* r600g: Kill trailing whitespace.Henri Verbeet2011-01-188-66/+66
|
* r600g: Remove the unused eg_states_inc.h and r600_states_inc.h.Henri Verbeet2011-01-182-1001/+0
|
* r600g: Simplify some r600_bc_add_alu_type() calls to r600_bc_add_alu().Henri Verbeet2011-01-181-3/+3
|
* softpipe: added some null pointer checksBrian Paul2011-01-181-3/+3
| | | | | This shouldn't really be needed but it may help with http://bugs.freedesktop.org/show_bug.cgi?id=32309
* softpipe: s/tex_cache/fragment_tex_cache/Brian Paul2011-01-185-9/+9
| | | | Just to be more consistant with the vertex and geometry tex cache fields.
* Remove executables from source tree.José Fonseca2011-01-185-0/+0
|
* llvmpipe: enable PIPE_CAP_INDEP_BLEND_FUNCBrian Paul2011-01-171-1/+1
| | | | | | | | | | The driver was saying that independend blend functions was not supported, but it really was. The driver was using the per-target independend blend factors but the state tracker was only setting the 0th one (per the Gallium spec). Fixes a piglit fbo-drawbuffers2-blend regression. See https://bugs.freedesktop.org/show_bug.cgi?id=33215
* nouveau: fix build against out of tree libdrmDave Airlie2011-01-174-0/+8
| | | | | | For doing builds against a separated libdrm these cflags are needed. Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix PIPE_CAP_INSTANCED_DRAWING warningChristian König2011-01-161-0/+1
|
* r600g: fix alu inst group merging for relative adressingChristian König2011-01-161-1/+13
|