summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-06-29llvmpipe: don't crash/assert on out of memoryBrian Paul
Check for null pointers and return early, etc.
2010-06-29llvmpipe: restore call to lp_setup_update_state()Brian Paul
This undoes part of commit 8be645d53a0d5d0ca50e4e9597043225e2231b6d and fixes fd.o bug 28822 as well as other regressions. The 'draw' module may issue additional state-change commands while we're inside the draw_arrays/elements() call so it's important to check for updated state at this point.
2010-06-29egl: Check for drm winsys not just the driver nameJakob Bornecrantz
Also fix pipe_radeon.so not building
2010-06-29draw: Add inline keyword to inline function.José Fonseca
Otherwise gcc will warn about unusued functions.
2010-06-29i915g: Fix copy pastoJakob Bornecrantz
2010-06-29egl: Fix gallium build when EGL is not installed on systemJakob Bornecrantz
2010-06-29i915g: Add missing egl pipe fileJakob Bornecrantz
2010-06-29egl: Remove st/egl probe code.Chia-I Wu
It is no longer needed.
2010-06-29egl: Do not call drv->Initialize with global mutex locked.Chia-I Wu
2010-06-29st/egl: Build a single EGL driver.Chia-I Wu
This change makes st/egl build a single egl_gallium.so and multiple st_<API>.so and pipe_<HW>.so. When a display is initialized, the corresponding pipe driver will be loaded. When a context is created, the corresponding state tracker will be loaded. Unlike DRI drivers, no ABI compatibility is maintained. egl_gallium, pipe drivers and state trackers should always be distributed as a single package. As such, there is only a single src/gallium/targets/egl/ that builds everything for the package.
2010-06-29st/egl: Move module loading code to targets.Chia-I Wu
Several changes are made. libegl.a no longer defines _eglMain. It defines functions to create and destroy a _EGLDriver instead. The creation function is called by the targets. It takes an egl_g3d_loader as its argument. The loader is defined by the targets and is in charge of creating st_api and pipe_screen. This allows us to move the module loading code to targets. Lastly, the modules are now loaded as the respective contexts are created.
2010-06-29st/egl: Reorganize targets.Chia-I Wu
Merge all targets into targets/egl/. The target produces egl_gallium_<HW>.so for each pipe driver and st_<API>.so for each client APIs. This enables us to further merge egl_gallium_<HW>.so into egl_gallium.so later.
2010-06-29st/egl: One driver per hardware.Chia-I Wu
Merge multiple egl_<platform>_<pipe>.so into a single egl_gallium_<pipe>.so. The environment variable EGL_PLATFORM is now used to modify the return value of _eglGetNativePlatform.
2010-06-29st/egl: Introduce native_platform.Chia-I Wu
Move native_get_name, native_create_probe, native_get_probe_result, and native_create_display into struct native_platform, and add native_get_platform to get a handle to the struct.
2010-06-29st/egl: Make api_OpenGL support OpenGL ES.Chia-I Wu
This allows api_OpenGL.so to support OpenGL ES.
2010-06-29st/mesa: Add support for multiple APIs.Chia-I Wu
Add st_gl_api_create_es1 and st_gl_api_create_es2 to create OpeGL ES 1.1 and OpenGL ES 2.0 contexts respectively.
2010-06-29st_api: Remove st_context::is_visual_supported.Chia-I Wu
The callback is used by st/vega to check if a visual specifies the depth/stencil format. It forces st/vega to be loaded by st/egl to perform the check. As noted in EGL spec, the depth/stencil format of a visual should not affect OpenVG. It should be better to ignore the field and always allocate the depth/stencil texture.
2010-06-28mesa: initial support for ARB_geometry_shader4Zack Rusin
laying down the foundation for everything and implementing most of the stuff. linking, gl_VerticesIn and multidimensional inputs are left.
2010-06-29util: reference surfaces and sampler views in blitter when saving themMarek Olšák
Ooops. This should possibly fix some bugs...
2010-06-28i915g: Add Galahad to targetsJakob Bornecrantz
2010-06-28r300g: Galahad for scons as wellJakob Bornecrantz
2010-06-28r300g: Add target defines for GalahadJakob Bornecrantz
2010-06-28glhd: Build with sconsJakob Bornecrantz
2010-06-28glhd: Re-integrate with the debug systemJakob Bornecrantz
2010-06-28glhd: Remove leftover fileJakob Bornecrantz
2010-06-28Merge branch 'gallium-drm-driver-drescriptor'Jakob Bornecrantz
Conflicts: src/gallium/state_trackers/egl/x11/native_dri2.c src/gallium/state_trackers/egl/x11/native_x11.c src/gallium/state_trackers/egl/x11/native_x11.h src/gallium/state_trackers/xorg/xorg_driver.c src/gallium/winsys/radeon/drm/radeon_drm.c
2010-06-28llvmpipe: set WRITE_ALL only a per-tile basis in lp_resource_copy().José Fonseca
2010-06-28llvmpipe: Actually flush in lp_resource_copy()José Fonseca
The cpu_access is redundant in a software rasterizer.
2010-06-28llvmpipe: Ensure outdated framebuffer state is not reused in ↵José Fonseca
lp_setup_bind_framebuffer(). We were starting a scene whenever lp_setup_get_vertex_info() was called by the draw module. So when when all primitives were culled/clipped, not only did we create a new scene for nothing, but we end up using the old scene with the old framebuffer state instead of a new one. Fix consists in: - don't call lp_setup_update_state() in lp_setup_get_vertex_info() -- no longer necessary - always setting the scene state before binning a command -- query commands were bypassing it - assert no old scene is reused in lp_setup_bind_framebuffer()
2010-06-27r300g: fix a compile error on non-debug buildsMarek Olšák
2010-06-27util: fix a memory leak in blitterMarek Olšák
2010-06-27r300g: separate the hyperz state and pipelined FB regs out of the FB stateMarek Olšák
2010-06-27r300g: release referenced objects in destroy_contextMarek Olšák
2010-06-27r300g: reference surfaces in set_framebuffer_stateMarek Olšák
2010-06-27r300g: group debug messagesMarek Olšák
2010-06-27r300g: turn rasterizer state into a command bufferMarek Olšák
2010-06-27r300g: move emission of the MSPOS regs into the framebuffer stateMarek Olšák
Now the question is whether we are allowed to ignore gl_rasterization_rules and pipe_rasterizer_state::multisample. The former is invariant anyway and I think the latter would need re-emitting the AA state which is quite costly, considering that it implicitly flushes the whole pipeline (all AA regs in the AA state are *unpipelined*).
2010-06-27r300g: turn invariant state into a command bufferMarek Olšák
2010-06-27r300g: initialize some crucial state in the first CSMarek Olšák
2010-06-26r300g: introduce VAP invariant stateMarek Olšák
Unlike other invariant states, this one must be emitted after VAP flush.
2010-06-26r300g: immediate mode cleanupMarek Olšák
2010-06-26r300g: update my notes about fastfill and zbuffer compressionMarek Olšák
2010-06-26r300g: enum r300_blitter_op is a bitmaskMarek Olšák
2010-06-26draw: fix build with llvm and makeMarek Olšák
2010-06-26mesa: Remove unnecessary header.Vinson Lee
2010-06-26st/mesa: Remove unnecessary headers.Vinson Lee
2010-06-26draw: Remove unnecessary header.Vinson Lee
2010-06-25draw: deleted by mistakeZack Rusin
2010-06-25draw: initialize headers in the none post paths as wellZack Rusin
2010-06-25draw: limit the number of vertex shader variants kept aroundZack Rusin
we used to create and cache unltimited number of variant, this change limits the number of variants kept around to a fixed number. the change is based on a similar patch by Roland for llvmpipe fragment shaders.