summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers
AgeCommit message (Collapse)Author
2011-01-26st/egl: Downgrade warning to debug when we can't create a drm screenKristian Høgsberg
We try to load a DRI driver if this fails so don't confuse users.
2011-01-24vega: implement handler/pointer conversion using a hash tableBrian Paul
Before, we were just casting between 32-bit VGHandles and 64-bit pointers.
2011-01-24vega: remove redundant functions found elsewhereBrian Paul
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-24st/xorg: Fix build failure against xserver with XF86_CRTC_VERSION < 3.Michel Dänzer
Reported by Vinson Lee.
2011-01-23vega: sort filenames in Makefile, SConscriptBrian 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-21st/dri: Fix warningJakob Bornecrantz
2011-01-18Remove executables from source tree.José Fonseca
2011-01-16d3d1x: Fix broken build.Chia-I Wu
st/egl native.h changed its interface in a22a332fc7cc54d4d0973dcd21a90159cc51de1a.
2011-01-13egl: Improve driver selection.Chia-I Wu
The idea is to be able to match a driver using the following order try egl_gallium with hw renderer try egl_dri2 try egl_gallium with sw renderer try egl_glx given the module list egl_gallium egl_dri2 egl_glx For that, UseFallback initialization option is added. The module list is matched twice: with the option unset and with the option set. In the first pass, egl_gallium skips its sw renderer and egl_glx rejects to initialize since UseFallback is not set. In the second pass, egl_gallium skips its hw renderer and egl_dri2 rejects to initialize since UseFallback is set. The process stops at the first driver that initializes the display.
2011-01-13egl: Simplify driver matching.Chia-I Wu
Add initialization options that drv->API.Initialize should support. Replace drv->Probe by TestOnly initialization option and simplify _eglMatchDriver.
2011-01-13egl: Cleanup _EGLDisplay initialization.Chia-I Wu
Reorder/rename and document the fields that should be set by the driver during initialization. Drop the major/minor arguments from drv->API.Initialize.
2011-01-12scons: Updates for targets/egl-static.Chia-I Wu
Update SConscripts to re-enable or add support for EGL on windows and x11 platforms respectively. targets/egl-gdi is replaced by targets/egl-static, where "-static" means pipe drivers and state trackers are linked to statically by egl_gallium, and egl_gallium is a built-in driver of libEGL. There is no more egl_gallium.dll on Windows.
2011-01-10st/egl: Fix a void pointer arithmetic warning.Chia-I Wu
2011-01-05st/xorg: Flesh out colour map support and support depth 8.Michel Dänzer
2010-12-26st/egl: Fix eglChooseConfig when configs is NULL.Chia-I Wu
When configs is NULL, the app wants to know the number of matching configs.
2010-12-23st/egl: Remove unnecessary header.Vinson Lee
2010-12-22st/vega: Remove unnecessary headers.Vinson Lee
2010-12-22st/egl: Assorted fixes for dri2_display_get_configs.Chia-I Wu
Set window_bit only when the visual id is greater than zero. Correct visual types. Skip slow configs as they are not relevant. Finally, do not return duplicated configs.
2010-12-22st/egl: Fix eglCopyBuffers.Chia-I Wu
Flush before presenting.
2010-12-22st/egl: Plug pbuffer leaks.Chia-I Wu
Unreference validated resources or remove unnecessary validations.
2010-12-22st/egl: Allow single-buffered pixmaps.Chia-I Wu
All single-buffered configs were ignored before to make sure EGL_RENDER_BUFFER is settable for window surfaces. It is better to allow single-buffered configs and set EGL_WINDOW_BIT only for double-buffered ones. This way there can be single-buffered pixmaps.
2010-12-22st/egl: Remove native_config::samples.Chia-I Wu
Multisample buffers are never requested.
2010-12-22st/egl: Remove native_config::slow_config.Chia-I Wu
In direct rendering scenario, it is not needed until an EGLDisplay can support both HW and SW pipe screens.
2010-12-22st/egl: Remove unnecessary egl_g3d_find_pixmap_config.Chia-I Wu
It was used to find a compatible config for a given pixmap. Now that a config is optional for pixmap surface creation, the function is not needed.
2010-12-22st/egl: Make config optional for create_pixmap_surface.Chia-I Wu
eglCopyBuffers or EGL_KHR_image_pixmap require creating a pixmap surface without a config. Make it just work without relying on is_pixmap_supported.
2010-12-20st/python: remove unused 'buf' parameter in pipe_buffer_unmapVinson Lee
This is a follow-up to commit ec51092a72e2dff1e9b1362d813fe4691cda89b7. Fixes SCons build.
2010-12-06mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.Chia-I Wu
The preprocessor magic in mapi was nothing but obfuscation. Rewrite mapi_abi.py to generate real C code. This commit removes the hack added in 43121f20866bb89e8dac92bd92ec85a943704b7e.
2010-12-06egl: _eglFilterArray should not allocate.Chia-I Wu
Otherwise, when it is called from within a driver, the caller cannot free the returned data (on Windows).
2010-12-05r300g: cleanup winsysMarek Olšák
2010-12-04st/vega: Fix pipe blend state for various blend modes.Chia-I Wu
rgb_src_factor and rgb_dst_factor should be PIPE_BLENDFACTOR_ONE for VG_BLEND_SRC_IN and VG_BLEND_DST_IN respectively. VG_BLEND_SRC_OVER can be supported only when the fb has no alpha channel. VG_BLEND_DST_OVER and VG_BLEND_ADDITIVE have to be supported with a shader. Note that Porter-Duff blending rules assume premultiplied alpha.
2010-12-04st/vega: Add blend shaders for all blend modes.Chia-I Wu
2010-12-04st/vega: Fix VG_BLEND_MULTIPLY.Chia-I Wu
TEMP[1].w will be needed for OUT.w just below. Use TEMP[0] to store the intermediate value.
2010-12-04st/vega: Silence uninitialized variable warning.Vinson Lee
Fixes this GCC warning. api_filters.c: In function 'execute_filter': api_filters.c:184: warning: 'tex_wrap' may be used uninitialized in this function
2010-12-04st/vega: Blending should use premultiplied alpha.Chia-I Wu
Convert color values to and back from premultiplied form for blending. Finally the rendering result of the blend demo looks much closer to that of the reference implementation.
2010-12-04st/vega: Add support for per-channel alpha.Chia-I Wu
Drawing an image in VG_DRAW_IMAGE_STENCIL mode produces per-channel alpha for use in blending. Add a new shader stage to produce and save it in TEMP[1]. For other modes that do not need per-channel alpha, the stage does MOV TEMP[1], TEMP[0].wwww
2010-12-04st/vega: Move masking after blending.Chia-I Wu
Masking should happen after blending. The shader is not entirely correct, but leave it as is for now.
2010-12-04st/vega: Refactor blend shaders.Chia-I Wu
Add a helper function, blend_generic, that supports all blend modes and per-channel alpha. Make other blend generators a wrapper to it. Both the old and new code expects premultiplied colors, yet the input is non-premultiplied. Per-channel alpha is also not used for stencil image. They still need to be fixed.
2010-12-04st/vega: Add some comments to pipeline shaders.Chia-I Wu
2010-12-03st/vega: Add a missing break.Chia-I Wu
2010-12-03st/vega: Move vertex transformation to shader.Chia-I Wu
It was done in path-to-polygon conversion. That meant that the results were invalidated when the transformation was modified, and CPU had to recreate the vertex buffer with new vertices. It could be a performance hit for apps that animate.
2010-12-03st/vega: Set pipe_resource::array_size to 1.Chia-I Wu
2010-12-03st/egl: Set pipe_resource::array_size to 1.Chia-I Wu
2010-12-02wgl: Fix visual's buffer_mask configuration.José Fonseca
2010-12-02WIN32_THREADS -> WIN32José Fonseca
Fixes nasty bug where some parts of the code didn't define WIN32_THREADS and were using the integer mutex implementation, causing even confusion to the debuggers. And there is little interest of other thread implemenation on Win32 besides Win32 threads.
2010-12-02wgl: Unreference the current framebuffer after the make_current call.José Fonseca
To prevent a dangling pointer dereference.
2010-12-02wgl: Fix double free. Remove dead code.José Fonseca
2010-12-02st/vega: polygon_array requires a deep free.Chia-I Wu
A polygon array is an array of pointers to polygons. The polygons should be freed with the array.
2010-12-02st/vega: Destroy the pipe context with vg_context.Chia-I Wu