summaryrefslogtreecommitdiff
path: root/src/gallium
AgeCommit message (Collapse)Author
2011-01-24vega: replace casts with pointer/handle conversion functionsBrian Paul
Per the spec, all OpenVG handles are 32-bit. We can't just cast them to/from integers on 64-bit systems. Start fixing that mess by introducing a set of handle/pointer conversion functions in handle.h. The next step is to implement a handle/pointer hash table...
2011-01-25svga: Add more swrast debugingJakob Bornecrantz
2011-01-25svga: Use get once helpers for context debug envsJakob Bornecrantz
2011-01-25rbug: Fix surface reference leakJakob Bornecrantz
2011-01-25r600g: FLT_TO_INT* are vector instructions on Evergreen.Henri Verbeet
FLT_TO_INT is a vector instruction, despite what the (current) documentation says. FLT_TO_INT_FLOOR and FLT_TO_INT_RPI aren't explicitly mentioned in the documentation, but those are vector instructions too.
2011-01-24graw: add a test showing the new sampling scheme in actionZack Rusin
2011-01-24gallium: implement modern sampling schemeZack Rusin
largely a merge of the previously discussed origin/gallium-resource-sampling but updated. the idea is to allow arbitrary binding of resources, the way opencl, new gl versions and dx10+ require, i.e. DCL RES[0], 2D, FLOAT LOAD DST[0], SRC[0], RES[0] SAMPLE DST[0], SRC[0], RES[0], SAMP[0]
2011-01-24draw: Do not use LLVM's opaque types.José Fonseca
Contrary what the name may suggest, LLVM's opaque types are used for recursive types -- types whose definition refers itself -- so opaque types correspond to pre-declaring a structure in C. E.g.: struct node; struct link { .... struct node *next; }; struct node { struct link link; } Void pointers are also disallowed by LLVM. So the suggested way of creating what's commonly referred as "opaque pointers" is using byte pointer (i.e., uint8_t * ).
2011-01-24secure malloc in translate_cache_createTim Wiederhake
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-01-24st/xorg: Fix build failure against xserver with XF86_CRTC_VERSION < 3.Michel Dänzer
Reported by Vinson Lee.
2011-01-24r300g: remove unused functionMarek Olšák
2011-01-24r300g: remove any traces of depth_clampMarek Olšák
I couldn't make it work. GB_TILE_CONFIG.Z_EXTENDED, which enables per-pixel Z clamping, and VAP_CLIP_CNTL.CLIP_DISABLE, which disables clipping, do help, but they also add regressions like random graphics corruptions in some games.
2011-01-24r300g: handle PIPE_CAP_INSTANCED_DRAWING in get_paramMarek Olšák
2011-01-24util: Add function logger helpersJakob Bornecrantz
2011-01-24Revert "r300g/swtcl: re-enable LLVM"Jakob Bornecrantz
This reverts commit 88550083b3857184445075e70fed8b2eed4952a1.
2011-01-24draw: Init llvm if not providedJakob Bornecrantz
2011-01-24i915g: Remove draw_flushes and state that we don't need to trackJakob Bornecrantz
2011-01-24i915g: Improve constant handlingJakob Bornecrantz
2011-01-23r300g: Increase fragment shader limits for r400 cardsTom Stellard
r400 fragment shaders now support up to 64 temporary registers, 512 ALU instructions, and 512 TEX instructions.
2011-01-23nvc0: implement point coord replacementChristoph Bumiller
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.
2011-01-23vega: sort filenames in Makefile, SConscriptBrian Paul
2011-01-23r300g: support sRGB colorbuffersMarek Olšák
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.
2011-01-23r300/compiler: remove any code related to relative addressing of temporariesMarek Olšák
The hw can't do it and the code was useless anyway (it's lowered in the GLSL compiler).
2011-01-23nvc0: fix emit_cvt for ceil, floor and truncChristoph Bumiller
2011-01-23nvc0: remove bad assert and emit TEMP movs insteadChristoph Bumiller
2011-01-23nvc0: fix address and value slot assignment in load combiningChristoph Bumiller
2011-01-23nvc0: don't omit highest bit of branch targetChristoph Bumiller
Fixes negative relative branch offsets.
2011-01-23nvc0: recognize r63 as zero in constant foldingChristoph Bumiller
2011-01-23nvc0: add MARK_RING where missing to avoid too many relocs errorsChristoph Bumiller
2011-01-23nvc0: don't apply base vertex to per-instance arraysChristoph Bumiller
2011-01-23nvc0: commute sources of SET too if beneficialChristoph Bumiller
2011-01-23nvc0: accept neg abs modifiers on lg2Christoph Bumiller
2011-01-22softpipe: pass surface format to get/put_tile functionsBrian Paul
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-22gallium/util: added pipe_put_tile_rgba_format()Brian Paul
2011-01-22gallium/util: simplify pipe_get_tile_rgba()Brian Paul
Implement it in terms of pipe_get_tile_rgba_format()
2011-01-22gallium/softpipe: replace pipe_get_tile_swizzle()Brian Paul
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-22softpipe: use proper type for format fieldBrian Paul
2011-01-22gallium/util: added util_format_linear()Brian Paul
2011-01-22scons: Add support for GLES.Chia-I Wu
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-21i915g: Don't (un)map vbuf on each (un)map callJakob Bornecrantz
2011-01-21i915g: Don't do unnecessary copies of constantsJakob Bornecrantz
Even tho st/mesa use user buffers for constants align buffers other state trackers doesn't use user buffers.
2011-01-21i915g: Don't emit FS constants when VS contants changeJakob Bornecrantz
2011-01-21i915g: Use slab allocator for transfersJakob Bornecrantz
Also remove unused i915_transfer struct
2011-01-21st/dri: Fix warningJakob Bornecrantz
2011-01-21r600g: check if hardware blits are possible bevore enabling tillingChristian König
2011-01-21r600g: FLT_TO_INT_FLOOR is trans instructionAlex Deucher
Add missing evergreen FLT_TO_INT_FLOOR instruction.
2011-01-20softpipe: check for null pointers during context create/destroyBrian Paul
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-20graw: fix logic error in pixel format selectionBrian Paul
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-20glapi: Fix OpenGL and OpenGL ES interop.Chia-I Wu
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
2011-01-19softpipe: Bind samplers to views instead of the underlying resource.Henri Verbeet
Signed-off-by: Brian Paul <brianp@vmware.com>