summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo
Commit message (Collapse)AuthorAgeFilesLines
* gallium: add interface for writable shader imagesMarek Olšák2015-07-161-4/+6
| | | | | | PIPE_CAPs will be added some other time. Reviewed-by: Ilia Mirkin <[email protected]>
* gallium: add new limits for shader buffers and imagesMarek Olšák2015-07-161-1/+1
| | | | Reviewed-by: Ilia Mirkin <[email protected]>
* gallium: add BIND flags for R/W buffers and imagesMarek Olšák2015-07-161-1/+1
| | | | | | | | | | | | | | | | | PIPE_CAPs and TGSI support will be added later. The TGSI support should be straightforward. We only need to split TGSI_FILE_RESOURCE into TGSI_FILE_IMAGE and TGSI_FILE_BUFFER, though duplicating all opcodes shouldn't be necessary. The idea is: * ARB_shader_image_load_store should use set_shader_images. * ARB_shader_storage_buffer_object should use set_shader_buffers(slots 0..M-1) if M shader storage buffers are supported. * ARB_shader_atomic_counters should use set_shader_buffers(slots M..N) if N-M+1 atomic counter buffers are supported. PIPE_CAPs can describe various constraints for early DX11 hardware. Reviewed-by: Ilia Mirkin <[email protected]>
* gallium: add PIPE_CAP_MAX_SHADER_PATCH_VARYINGSMarek Olšák2015-07-161-0/+1
| | | | Reviewed-by: Ilia Mirkin <[email protected]>
* ilo: unref old fenceRob Clark2015-07-101-0/+2
| | | | | | | | | Some, but not all, state trackers will explicitly unref (and set to NULL) the previous *fence before calling pipe->flush(). So driver should use fence_ref() which will unref the old fence if not NULL. Signed-off-by: Rob Clark <[email protected]> Acked-by: Chia-I Wu <[email protected]>
* gallium: remove redundant pipe_context::fence_signalledMarek Olšák2015-07-051-8/+0
| | | | | | fence_finish(timeout=0) does the same thing Reviewed-by: Brian Paul <[email protected]>
* ilo: remove ilo_image_paramsChia-I Wu2015-07-011-75/+47
| | | | It suffices to use ilo_image_layout directly.
* ilo: add image_init_gen6_transfer_layout()Chia-I Wu2015-07-011-75/+37
| | | | It replaces img_init_for_transfer().
* ilo: add image_set_gen6_bo_size()Chia-I Wu2015-07-013-118/+89
| | | | It replaces img_calculate_bo_size().
* ilo: add image_set_gen6_{hiz,mcs}Chia-I Wu2015-07-011-49/+61
| | | | They replace img_calculate_{hiz,mcs}_size().
* ilo: add image_get_gen6_monolithic_size()Chia-I Wu2015-07-011-67/+67
| | | | It replaces img_align().
* ilo: add image_get_gen6_lods()Chia-I Wu2015-07-011-88/+148
| | | | It replaces img_init_lods() and img_init_layer_height().
* ilo: add image_get_gen{6,7}_alignment()Chia-I Wu2015-07-011-159/+177
| | | | They replace img_init_alignments().
* ilo: add image_get_gen6_{hiz,mcs}_enable()Chia-I Wu2015-07-011-101/+97
| | | | They replace img_init_aux().
* ilo: add image_get_gen6_tiling()Chia-I Wu2015-07-011-132/+177
| | | | It replaces img_init_tiling().
* ilo: add image_get_gen6_layout()Chia-I Wu2015-07-011-82/+107
| | | | It replaces only img_init_walk() right now. It will replace all img_init_*().
* gallium: add PIPE_COMPUTE_CAP_SUBGROUP_SIZEGrigori Goronzy2015-06-291-0/+8
| | | | | | | We need this to implement OpenCL's CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE. Reviewed-by: Francisco Jerez <[email protected]>
* mesa: Enable subdir-objects globally.Matt Turner2015-06-261-2/+0
| | | | Reviewed-by: Emil Velikov <[email protected]>
* ilo: define ILO_IMAGE_MAX_LEVEL_COUNTChia-I Wu2015-06-264-8/+16
| | | | | Define ILO_IMAGE_MAX_LEVEL_COUNT for ilo_image and remove unnecessary header includes.
* ilo: replace pipe_format by gen_surface_formatChia-I Wu2015-06-2613-142/+174
| | | | | Replace pipe_format by gen_surface_format in ilo_image. Change how depth format is specified in ilo_state_zs.
* ilo: always use the specified image formatChia-I Wu2015-06-264-69/+115
| | | | | Move silent promotion of PIPE_FORMAT_ETC1_RGB8 or combined depth/stencil out of core.
* ilo: replace pipe_texture_target by gen_surface_typeChia-I Wu2015-06-268-125/+98
| | | | | Replace pipe_texture_target by gen_surface_type in ilo_image. Change how GEN6_SURFTYPE_CUBE is specified in ilo_state_surface and ilo_state_zs.
* ilo: initialize ilo_image from ilo_image_infoChia-I Wu2015-06-263-179/+242
| | | | Convert pipe_resource to ilo_image_info for image initialization.
* ilo: remove ilo_image_disable_aux()Chia-I Wu2015-06-263-28/+2
| | | | Fail resource creation when aux bo allocation fails.
* ilo: improve SURFTYPE_BUFFER validationsChia-I Wu2015-06-262-81/+139
| | | | Reorganize the validations to make them more systematic.
* ilo: remove ilo_bufferChia-I Wu2015-06-2610-68/+109
| | | | | | | | | | Since the addition of ilo_vma, it was used only to pad a bo for sampling engine surfaces. Replace it entirely with these functions ilo_state_surface_buffer_size() ilo_state_vertex_buffer_size() ilo_state_index_buffer_size() ilo_state_sol_buffer_size()
* ilo: introduce ilo_vmaChia-I Wu2015-06-2621-315/+419
| | | | | This cleans up the code a bit and makes ilo_state_vector_resource_renamed() simpler and more robust. It also allows a single bo to back mulitple VMAs.
* ilo: emit 3DPRIMITIVE from gen6_3dprimitive_infoChia-I Wu2015-06-2211-87/+91
| | | | | | It allows us to remove ilo_ib_state::draw_start_offset and ILO_PRIM_RECTANGLES. gen6_3d_translate_pipe_prim() is also replaced by ilo_translate_draw_mode().
* ilo: align vertex buffer size in buf_create()Chia-I Wu2015-06-222-19/+20
| | | | | With ilo_format.[ch] moved out of core, the aligning of vertex buffers does not belong to core anymore.
* ilo: move ilo_format.[ch] out of coreChia-I Wu2015-06-225-8/+8
| | | | | They provide PIPE_FORMAT_x to GEN6_FORMAT_x translation as well as some convenient helpers. Move them out of core.
* ilo: add ilo_state_surface_valid_format()Chia-I Wu2015-06-224-284/+364
| | | | Check if a surface format can be used for the specified access type.
* ilo: add ilo_state_vf_valid_element_format()Chia-I Wu2015-06-223-124/+132
| | | | Check if a surface format can be used as a VE format.
* ilo: add ilo_state_computeChia-I Wu2015-06-228-92/+586
| | | | | Replace gen6_idrt_data with ilo_state_compute, which has a bunch of validations and is now preferred.
* ilo: clean up header includesChia-I Wu2015-06-205-2/+5
| | | | Core is more self-contained now.
* ilo: avoid ilo_ib_state in genX_3DPRIMITIVE()Chia-I Wu2015-06-202-10/+8
| | | | ilo_ib_state is not in core.
* ilo: move gen6_so_SURFACE_STATE() out of coreChia-I Wu2015-06-202-52/+53
| | | | It does not belong to core.
* ilo: add ilo_state_sol_bufferChia-I Wu2015-06-206-103/+317
| | | | It serves the same purpose as ilo_state_vertex_buffer does.
* ilo: add ilo_state_index_bufferChia-I Wu2015-06-207-70/+171
| | | | It serves the same purpose as ilo_state_vertex_buffer does.
* ilo: add ilo_state_vertex_bufferChia-I Wu2015-06-207-54/+189
| | | | | | Being a parameter-like state, we may want to get rid of ilo_state_vertex_buffer_info or ilo_state_vertex_buffer eventually. But we want them now as they are how we do cross-validation right now.
* ilo: add 3DSTATE_VF_INSTANCING to ilo_state_vfChia-I Wu2015-06-209-67/+168
| | | | | | 3DSTATE_VF_INSTANCING specifies instancing enable and step rate. They are specified along with 3DSTATE_VERTEX_BUFFERS instead prior to Gen8. Both commands are added.
* ilo: add 3DSTATE_VF to ilo_state_vfChia-I Wu2015-06-209-66/+190
| | | | | | 3DSTATE_VF specifies cut index enable and cut index. Cut index enable is specified in 3DSTATE_INDEX_BUFFER instead prior to Gen7.5. Both commands are added.
* ilo: embed pipe_index_buffer in ilo_ib_stateChia-I Wu2015-06-203-45/+40
| | | | Make it obvious that we save a copy of pipe_index_buffer.
* ilo: fix a buffer overrunChia-I Wu2015-06-201-1/+1
| | | | Add missing parentheses in SURFTYPE_NULL initialization.
* ilo: fix a -Wmaybe-uninitialized warningChia-I Wu2015-06-201-0/+1
| | | | | | ilo_shader.c: In function ‘ilo_shader_select_kernel_sbe’: ilo_shader.c:1140:27: warning: ‘src_skip’ may be used uninitialized in this function [-Wmaybe-uninitialized]
* ilo: remove missing ilo_fence.h from the sources listEmil Velikov2015-06-181-1/+0
| | | | Signed-off-by: Emil Velikov <[email protected]>
* ilo: add ilo_state_raster_{line,poly}_stippleChia-I Wu2015-06-156-43/+138
| | | | Initialize hardware stipple states on bound instead of on emission.
* ilo: add ilo_state_sample_patternChia-I Wu2015-06-159-186/+225
| | | | | Move sample pattern initialization from ilo_render to ilo_state_sample_pattern.
* ilo: add 3DSTATE_AA_LINE_PARAMETERS to ilo_state_rasterChia-I Wu2015-06-154-10/+17
| | | | Utilize ilo_state_raster to avoid redundant state change.
* ilo: merge ilo_state_3d*.[ch] to ilo_state.[ch]Chia-I Wu2015-06-157-276/+179
| | | | | With most code replaced to ilo_state_*, what was left did not belong there anymore.
* ilo: add ilo_state_ps to ilo_shader_csoChia-I Wu2015-06-1513-481/+160
|