summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-18wayland-drm: handle YUV formats in wl_drm_create_buffer().{merged}/10.wayland-drmGwenole Beauchesne1-0/+42
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.
2012-05-18wayland-drm: add support for YUV buffers.Gwenole Beauchesne5-34/+86
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.
2012-05-18egl_dri2: add dri2_image_attrs_from_wl_buffer_layout() helper.Gwenole Beauchesne1-24/+50
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.
2012-05-18wayland-drm: simplify wayland_drm_callbacks::reference_buffer().Gwenole Beauchesne5-22/+28
Reference a buffer based on its layout and the specified layer.
2012-05-18wayland-drm: implement wl_drm_create_buffer_with_layout().Gwenole Beauchesne1-32/+85
Implement wl_drm_create_buffer_with_layout() as the default entry-point. Map existing wl_drm_create_buffer() to this new function.
2012-05-18wayland-drm: add wl_drm_create_buffer_with_layout().Gwenole Beauchesne1-0/+16
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.
2012-05-18wayland-drm: fill in base buffer layout.Gwenole Beauchesne2-0/+26
2012-05-18egl_dri2: add new EGL_MESA_drm_image attributes.04.MESA_drm_imageGwenole Beauchesne5-5/+82
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
2012-05-18egl_dri2: fix eglCreateImageKHR() with a MESA_drm_image buffer.Gwenole Beauchesne1-1/+2
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.
2012-05-18egl_dri2: add dri2_invoke_create_image_from_name() helper.Gwenole Beauchesne1-17/+43
Add helper to invoke CreateImageFromName() or CreateImageImageFromName2().
2012-05-18intel: image: bump supported interface version.{merged}/03.DRI_image_interface.intelGwenole Beauchesne1-1/+1
2012-05-18intel: image: handle plane id and offset attributes.Gwenole Beauchesne5-2/+20
2012-05-18intel: image: add support for interlaced structure.Gwenole Beauchesne6-3/+49
2012-05-18intel: image: add support for more formats.Gwenole Beauchesne1-0/+10
Add mappings for: - DRI_IMAGE_FORMAT_R8 - DRI_IMAGE_FORMAT_RG88
2012-05-18intel: implement createImageFromName2().Gwenole Beauchesne1-9/+31
Add basic implementation for createImageFromName2() as the default entry-point. i.e. wrap the older createImageFromName() into the new function.
2012-05-18intel: allow regions hashing per name + plane id.Gwenole Beauchesne3-16/+104
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.
2012-05-18intel: introduce new intel_region_alloc_for_handle2().Gwenole Beauchesne2-17/+53
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.
2012-05-18dri2: bump DRI image interface version.{merged}/02.DRI_image_interfaceGwenole Beauchesne1-1/+1
2012-05-18dri2: add DRI image plane id and offset to base bo.Gwenole Beauchesne1-1/+4
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.
2012-05-18dri2: add picture structure.Gwenole Beauchesne1-0/+7
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.
2012-05-18dri2: add new image formats.Gwenole Beauchesne1-0/+2
Expose EXT_texture_rg formats (R8, RG88) as DRI image formats.
2012-05-18dri2: add createImageFromName2() hook.Gwenole Beauchesne1-0/+19
Add a new createImageFromName2() hook with image attributes struct so that to reduce the number of arguments passed to the function.
2012-05-18intel: enable GL_EXT_texture_rg for OpenGL ES 2.x.{merged}/01.EXT_texture_rgGwenole Beauchesne1-0/+1
2012-05-18mesa: add GL_EXT_texture_rg extension for OpenGL ES 2.x.Gwenole Beauchesne3-0/+10
2012-05-18GLES2: upgrade gl2ext.h to version 16994.Gwenole Beauchesne1-12/+372
2012-05-17gallium/tgsi/text: Ensure ret is initialized in parse_immediate_data.Vinson Lee1-0/+4
Fix uninitialized scalar variable defect reported by Coverity. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-05-17radeon/llvm: Fix segfault while lowering lrp intrinsicTom Stellard1-2/+3
2012-05-17radeon/llvm: Add DAG nodes for MIN instructionsTom Stellard6-14/+38
Also, remove the AMDIL MIN* instruction defs.
2012-05-18llvmpipe: Avoid adding floating point zero to flat inputs.José Fonseca1-1/+4
Which could clobber integer inputs, if the addition is not optimized away (e.g., if optimizations are disabled for debugging purposes).
2012-05-18Fix fetching integer inputs.José Fonseca1-0/+8
2012-05-18llvmpipe: Implement TXQ.Olivier Galibert7-6/+227
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>
2012-05-18llvmpipe: Don't mess with the provoking vertex when inverting a triangle.Olivier Galibert1-5/+40
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>
2012-05-17radeon/llvm: Lower lrp intrinsic during ISelTom Stellard3-7/+19
2012-05-17radeon/llvm: Remove AMDIL MAD instruction defsTom Stellard6-7/+14
2012-05-17radeon/llvm: Remove AMDIL MUL_IEEE* instructionsTom Stellard3-7/+3
2012-05-17r600g: Handle MUL_IEEE in r600_bytecode_get_num_operandsTom Stellard1-0/+2
2012-05-17radeon/llvm: Expand fsub during ISelTom Stellard2-11/+2
2012-05-17radeon/llvm: Remove AMDIL floating-point ADD instruction defsTom Stellard5-8/+9
2012-05-17radeon/llvm: Remove AMDIL CMOVLOG* instruction defsTom Stellard4-26/+6
2012-05-17radeon/llvm: Move lowering of ABS_i32 to ISelTom Stellard4-17/+16
2012-05-17radeon/llvm: Remove sub patterns from AMDILInstrPatterns.tdTom Stellard2-21/+1
2012-05-17radeon/llvm: Add custom SDNodes for MAXTom Stellard10-10/+108
We now lower the various intrinsics for max to SDNodes and then use tablegen patterns to lower the SDNodes to instructions.
2012-05-17state_tracker: remove sw_primitive_restart from st_contextJordan Justen2-2/+0
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>
2012-05-17state_tracker: remove software handling of primitive restartJordan Justen1-178/+2
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>
2012-05-17state_tracker: set PrimitiveRestartInSoftware if neededJordan Justen1-0/+1
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>
2012-05-17vbo: use software primitive restart in the VBO moduleJordan Justen1-6/+37
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>
2012-05-17mesa: add PrimitiveRestartInSoftware to gl_context.ConstJordan Justen2-0/+8
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>
2012-05-17vbo: add software primitive restart supportJordan Justen4-0/+241
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>
2012-05-17mesa: Check for framebuffer completeness before looking at the rb.Eric Anholt1-6/+6
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>
2012-05-17mesa: Fix assertion failure when a cube face is not present.Eric Anholt1-1/+2
Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>