| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
There is no ir_hierarchical_visitor::visit(ir_if *) method, since ir_if
is not a leaf node. Instead, there are visit_enter and visit_leave
methods. Use visit_enter arbitrarily (either would work fine, though
visit_enter will catch errors sooner).
Found thanks to a warning emitted by Clang.
Reviewed-by: Ian Romanick <[email protected]>
Signed-off-by: Kenneth Graunke <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
When intel_context requires separate stencil but the DRI2 separate stencil
handshake fails, then abort and emit an error instructing the user to
upgrade the DDX to 2.16.0.
CC: Eric Anholt <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Chad Versace <[email protected]>
|
|
|
|
| |
Signed-off-by: Kenneth Graunke <[email protected]>
|
|
|
|
| |
This is a port of commit ff2cfb8989cd to glsl_to_tgsi.
|
| |
|
|
|
|
|
| |
This is a port of commit ba01df11c4d0 to glsl_to_tgsi with integer support
added.
|
|
|
|
|
|
|
|
| |
Implement the any() part of the operation the same way regular ir_unop_any
is implemented.
This is a port of commit e7bf096e8b04 to glsl_to_tgsi, with added integer
support.
|
|
|
|
|
| |
This is a port of commit 92ca560d68e8 to glsl_to_tgsi, with integer support
added.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Logical-or is implemented using addition (followed by clamping to [0,1]) on
values of 0.0 and 1.0. Replacing the logical-or operators with addition gives
a + b which has a result on the range [0, 2].
Previously a SNE instruction was used to clamp the resulting logic value to
[0,1]. In a fragment shader, using a saturate on the add has the same effect.
Adding the saturate to the add is free, so (at least) one instruction is
saved. In a vertex shader, using an SLT on the negation of the add result has
the same effect. Many older shader architectures do not support the SNE
instruction. It must be emulated using two SLT instructions and an ADD. On
these architectures, the single SLT saves two instructions.
Note that SNE is still used when integers are used for boolean values, since
there is no such thing as an integer saturate, and older shader architectures
without SNE don't support integers.
This is a port of commit 41f8ffe5e07c to glsl_to_tgsi with integer support
added.
|
|
|
|
|
|
|
| |
Since our logic values are 0.0 (false) and 1.0 (true), 1.0 - x accurately
implements logical not.
This is a port of commit 6ad08989d7c1 to glsl_to_tgsi.
|
|
|
|
| |
Reported by cwhuang.
|
|
|
|
| |
This helps diagnose problems in EGL initialization.
|
|
|
|
| |
Use a staging color buffer when buffer preserving is enabled.
|
|
|
|
|
| |
There may be more than two back buffers. Clean up and prepare the
buffer cache for that.
|
|
|
|
| |
This fixes Kwaak3.
|
|
|
|
| |
Native buffers use HAL formats, not UI formats.
|
|
|
|
| |
Native buffers use HAL formats, not UI formats.
|
|
|
|
|
|
| |
Since this is the software path, set GRALLOC_USAGE_SW_WRITE_OFTEN when
PIPE_BIND_RENDER_TARGET, and set GRALLOC_USAGE_SW_READ_OFTEN when
PIPE_BIND_SAMPLER_VIEW.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libGLES_mesa with swrast should link in these libraries
libmesa_egl
libmesa_egl_gallium
libmesa_st_egl
libmesa_st_mesa
libmesa_glsl
libmesa_glsl_utils
libmesa_pipe_softpipe
libmesa_winsys_sw_android
libmesa_gallium
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
| |
This builds the shared library libglapi from shared glapi.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
This builds the static library libmesa_glsl and executable glsl_compiler
from glsl. glsl_compiler is only installed for engineering build.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
| |
This builds the static library libmesa_st_mesa from core mesa.
Acked-by: Chad Versace <[email protected]>
|
|
|
|
|
|
| |
This builds the static library libmesa_egl from core EGL.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
| |
This builds the static library libmesa_pipe_softpipe from softpipe.
|
|
|
|
| |
This builds the static library libmesa_winsys_sw_android from winsys/sw.
|
|
|
|
|
| |
This builds the static library libmesa_egl_gallium from
targets/egl-static.
|
|
|
|
| |
This builds the static library libmesa_st_egl from st/egl.
|
|
|
|
| |
This builds the static library libmesa_gallium from gallium auxiliaries.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step to integrate Mesa into Android(-x86) build
system. You can git clone mesa under the external/ directory of Android
source tree and build Android with
$ make BOARD_GPU_DRIVERS=swrast
It will build libGLES_mesa that will be loaded by Android runtime.
libGLES_mesa is still a stub in this commit.
|
|
|
|
|
|
| |
There is no libudev on Android. Use DRM to get the PCI ID directly.
Reviewed-by: Benjamin Franzke <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Both HW and SW rendering are supported for Android. For SW rendering,
we use the generic gralloc lock/unlock for mapping and unmapping color
buffers (in winsys/android).
For HW rendering, we need to know the real type of color buffers. This
backend works with drm_gralloc, where a color buffer is backed by a GEM
object.
|
|
|
|
|
|
| |
On Android, color buffers are passed between server and clients as
opaque buffer_handle_t. This winsys makes use of gralloc, which
provides a generic way to map and unmap buffer_handle_t for CPU access.
|
|
|
|
|
|
|
|
| |
Add EGL_ANDROID_image_native_buffer and EGL_ANDROID_swap_rectangle.
There is no spec for them though.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
This is Android Gingerbread platform.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
| |
Define log2f(v) to be logf(v) / M_LN2 and ffs to __builtin_ffs.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
Android does not define SIZE_MAX in stdint.h. We have to include
limits.h for it.
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
Android uses Linux kernel and its own C runtime. It resembles
PIPE_OS_LINUX a lot with some minor exceptions.
Reviewed-by: Brian Paul <[email protected]>
|
|
|
|
|
|
| |
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
Move vbo_exec_FlushVertices_internal out of FEATURE_beginend.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Chad Versace <[email protected]>
|
|
|
|
|
|
|
| |
Makes the new vertex shader backend work on Ivybridge.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When ctx->Const.NativeIntegers is set, Core Mesa loads integer/boolean
uniforms directly, rather than loading the floating point equivalent.
So, when that's set, we don't need to perform any conversions.
Unfortunately, we can't properly support native integers with the old
vertex shader backend, so this patch leaves them disabled for now.
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, native integer support was based on whether the driver
advertised GLSL 1.30 or not. However, drivers that natively support
integers may wish to do so for older GLSL versions as well. Adding this
new opt-in flag allows them to do so.
Currently disabled by default on all drivers, which was the existing
behavior (no drivers currently implement GLSL 1.30).
Fixes piglit tests on i965 with INTEL_GLSL_VERSION=130 set:
- spec/glsl-1.10/fs-uniform-int-110.shader_test
- spec/glsl-1.30/fs-uniform-int-130.shader_test
(it was doubly converting the data)
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
|
|
|
|
| |
Signed-off-by: Kenneth Graunke <[email protected]>
|
|
|
|
|
|
| |
It's actually a class.
Signed-off-by: Kenneth Graunke <[email protected]>
|
| |
|
|
|
|
|
|
| |
Fixes vs-atan-* and several others. This is not the real solution we
eventually want, which will pack floats, vec2s, and vec3s into vec4
registers, but this code should provide the framework for that.
|
|
|
|
|
| |
This is copied right from the fragment shader. It is needed for real
register allocation to work correctly.
|
|
|
|
|
|
| |
This is a rather pessimistic calculation, since it doesn't distinguish
individual channels of a vec4, or elements of an array, but should be
a minimum start for register allocation.
|
|
|
|
|
| |
This was copy'n'paste from the fragment shader, and didn't make sense
here.
|