Age | Commit message (Collapse) | Author | Files | Lines |
|
Add support for YUV 4:2:0, 4:2:2 and 4:4:4 formats to wl_drm_create_buffer().
The layout will be derived from width, height and stride. In particular, the
luma plane has exact same size, i.e. without any padding like aligning the
height to 16-pixel boundaries, and the chroma planes immediately follow the
luma plane.
|
|
Add EGL_WAYLAND_BUFFER_PLANE_ID_WL attribute for eglCreateImageKHR()
so that the correct YUV buffer plane could be selected. Reference all
planes as sub-buffers.
|
|
Add help function to convert from a wl_buffer_layout to a suitable
DRI image attributes structure. This simplifies future support for
YUV formats as size and cpp could change based on the plane id.
|
|
Reference a buffer based on its layout and the specified layer.
|
|
Implement wl_drm_create_buffer_with_layout() as the default entry-point.
Map existing wl_drm_create_buffer() to this new function.
|
|
Add a new wl_drm_create_buffer_with_layout() function that makes it
possible to wrap a DRM buffer with a specific layout. This is useful
to implement YUV buffers where stride for each plane could vary, or
underlying HW has specific requirements for the stride.
|
|
|
|
Add EGL_DRM_BUFFER_OFFSET_MESA to specify an offset (in bytes) relative
to the start of the DRM buffer. Likewise, add an EGL_DRM_BUFFER_PLANE_ID_MESA
attribute to specify (name) a plane identifier associated with the generated
image.
Add new image formats:
- EGL_DRM_BUFFER_FORMAT_R8_MESA: 8-bit red
- EGL_DRM_BUFFER_FORMAT_RG8_MESA: 8-bit red + green
Add picture structure information:
- EGL_DRM_BUFFER_STRUCTURE_TOP_FIELD: interlaced picture, top field
- EGL_DRM_BUFFER_STRUCTURE_BOTTOM_FIELD: interlaced picture, bottom field
- EGL_DRM_BUFFER_STRUCTURE_FRAME: whole picture
|
|
MESA_drm_image spec mentions that the EGL_DRM_BUFFER_STRIDE_MESA
attribute is expressed in bytes. However, the eglCreateImageKHR()
implementation assumes the attribute is expressed in pixels, which
is what the DRI create image API expects.
|
|
Add helper to invoke CreateImageFromName() or CreateImageImageFromName2().
|
|
|
|
|
|
|
|
Add mappings for:
- DRI_IMAGE_FORMAT_R8
- DRI_IMAGE_FORMAT_RG88
|
|
Add basic implementation for createImageFromName2() as the default
entry-point. i.e. wrap the older createImageFromName() into the new
function.
|
|
Allow regions to be hashed from a single key (name) and plane id. This
is preparatory work to support multitexturing from a single YUV buffer.
|
|
This is an extended version of the original intel_region_alloc_for_handle()
function but with extra attributes for future usage. e.g. picture structure,
offset to bo base, etc.
|
|
|
|
Add offset argument to createImageFromName2() so that to notify the
driver to wrap the DRM buffer at the specified offset. This is useful
to wrap a DRM buffer describing a YUV picture into several other
images/textures mapping individual Y/U/V components.
Also add a plane id attribute to identify what the DRI image actually
represents. Valid range is 0..2, inclusive.
|
|
Add picture structure describing the DRI image. i.e. whether the DRI
image represents the whole picture or an interleaved (top/bottom field)
version.
This extension makes it possible to maintain stride and size calculations
internal to Mesa, while allowing for texturing interlaced contents. Some
implementations can have an explicit means to handle this case, or could
emulate it with 2*stride + extra bo offset to the selected field.
|
|
Expose EXT_texture_rg formats (R8, RG88) as DRI image formats.
|
|
Add a new createImageFromName2() hook with image attributes struct
so that to reduce the number of arguments passed to the function.
|
|
|
|
|
|
|
|
Fix uninitialized scalar variable defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
|
|
|
|
Also, remove the AMDIL MIN* instruction defs.
|
|
Which could clobber integer inputs, if the addition is not optimized away
(e.g., if optimizations are disabled for debugging purposes).
|
|
|
|
Piglits test for fragment shaders pass, vertex shaders fail. The
actual failure seems to be in the interpolators, and not the
textureSize query.
Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: José Fonseca <jose.r.fonseca@gmail.com>
|
|
Fixes a bunch of piglit tests related to flat interpolation of floats.
Signed-off-by: Olivier Galibert <galibert@pobox.com>
Signed-off-by: José Fonseca <jose.r.fonseca@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We now lower the various intrinsics for max to SDNodes and then use
tablegen patterns to lower the SDNodes to instructions.
|
|
The VBO module now can handle primitive restart in software
if required.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
The VBO module now can handle primitive restart in software
if required. Therefore this support is no londer required.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
If the PIPE_CAP_PRIMITIVE_RESTART screen param is not set, then enable
PrimitiveRestartInSoftware to enable software primitive restart
support in the VBO module.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
When PrimitiveRestartInSoftware is set, the VBO module will handle
primitive restart scenarios before calling the vbo->draw_prims
drawing function.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
If set, then the VBO module will handle all primitive
restart scenarios before calling the driver draw_prims.
Software primitive restart support is disabled by default.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
vbo_sw_primitive_restart implements primitive restart in software
by splitting primitive draws apart.
This is based on similar support in mesa/state_tracker/st_draw.c.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
|
|
Otherwise, an incomplete framebuffer could have a NULL
_ColorReadBuffer and we'd deref that.
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|
|
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
|