aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/ilo_gpe_gen7.c
Commit message (Collapse)AuthorAgeFilesLines
* ilo: preliminary GEN 7.5 supportChia-I Wu2013-09-081-12/+41
| | | | | This is based on grepping for brw->is_haswell in i965 to see how GEN 7.5 differs from GEN 7. Slightly tested with Xonotic and some Mesa demos.
* ilo: fix fragment shaders that use PCB on GEN7+Chia-I Wu2013-08-151-1/+1
| | | | Missed this commit when preparing PCB changes for upstreaming.
* ilo: get rid of GPE tables completelyChia-I Wu2013-08-081-26/+8
| | | | Move the estimate functions out of the tables and kill the tables.
* ilo: clean up GPE header inclusionsChia-I Wu2013-08-081-1/+0
| | | | | This reduces the number of source files need to be recompiled when GPE functions are changed other than regular clean ups.
* ilo: Call GPE emit functions directly.Courtney Goeltzenleuchter2013-08-081-87/+0
| | | | | Eliminate pipeline and GPE function vectors and have the pipeline functions call the GPE emit functions directly.
* ilo: move emit functions so that they can be inlined.Courtney Goeltzenleuchter2013-08-081-1044/+0
|
* ilo: support PIPE_CAP_USER_INDEX_BUFFERSChia-I Wu2013-06-261-1/+4
| | | | | | | | We want to access the user buffer, if available, when primitive restart is enabled and the restart index/primitive type is not natively supported. And since we are handling index buffer uploads in the driver with this change, we can also work around misalignment of index buffer offsets.
* ilo: use ilo_shader_state exclusively in GPEChia-I Wu2013-06-251-70/+17
| | | | | | This allows us to remove ilo_shader_internal.h from ilo_gpe_gen7.c. The unfinished code in 3DSTATE_DS, 3DSTATE_HS, and INTERFACE_DESCRIPTOR_DATA are partly or entirely removed.
* ilo: map SO registers at shader compile timeChia-I Wu2013-06-251-29/+7
| | | | | | | The unmodified pipe_stream_output_info describes its outputs as if they are in TGSI_FILE_OUTPUT. Remap the register indices to where they appear in the VUE. TGSI_SEMANTIC_PSIZE needs a little care because it is at the W channel.
* ilo: use ilo_shader_cso for FSChia-I Wu2013-06-251-73/+113
| | | | | Add ilo_gpe_init_fs_cso() to construct 3DSTATE_PS and shader part of 3DSTATE_WM once and early for fragment shaders.
* ilo: use ilo_rasterizer_state exclusively in GPEChia-I Wu2013-06-251-2/+2
| | | | | Replace pipe_rasterizer_state by ilo_rasterizer_state for the remaining GPE functions for consistency.
* ilo: convert pipe_rasterizer_state to ilo_rasterizer_wmChia-I Wu2013-06-251-28/+55
| | | | | Add ilo_gpe_init_rasterizer_wm() to construct fixed-function part of 3DSTATE_WM once in create_rasterizer_state().
* ilo: use ilo_shader_cso for GSChia-I Wu2013-06-251-18/+47
| | | | | Add ilo_gpe_init_gs_cso() to construct 3DSTATE_GS once and early for geometry shaders.
* ilo: move internal shader interface to a new headerChia-I Wu2013-06-251-0/+1
| | | | | Move it to ilo_shader_internal.h. The goal is to make files not part of the compiler include only ilo_shader.h eventually.
* ilo: fix textureSize() for single-layered array texturesChia-I Wu2013-06-081-2/+18
| | | | | We returned 0 instead of 1 for the number of layers when the array texutre is single-layered. This fixed it on GEN7+.
* ilo: construct 3DSTATE_SF in create_rasterizer_state()Chia-I Wu2013-06-071-6/+8
| | | | Add ilo_rasterizer_sf and initialize it in create_rasterizer_state().
* ilo: use emit_SURFACE_STATE() for render targetsChia-I Wu2013-06-071-66/+0
| | | | | | Introduce ilo_surface_cso and initialize it in create_surface(). With the change, we can emit SURFACE_STATE directly from the CSO and remove emit_surf_SURFACE_STATE(). We do not deal with depth/stencil surfaces yet.
* ilo: use emit_SURFACE_STATE() for constant buffersChia-I Wu2013-06-071-20/+0
| | | | | | Introduce ilo_cbuf_cso and initialize it in set_constant_buffer(). As ilo_view_surface is embedded in ilo_cbuf_cso, switch to emit_SURFACE_STATE() for constant buffers and remove emit_cbuf_SURFACE_STATE().
* ilo: add emit_SURFACE_STATE() for sampler viewsChia-I Wu2013-06-071-34/+1
| | | | | | Introduce ilo_view_cso and initialize it in create_sampler_view(). Add emit_SURFACE_STATE() to GPE, which can emit SURFACE_STATE from ilo_view_surface.
* ilo: add ilo_view_surface for SURFACE_STATEChia-I Wu2013-06-071-62/+73
| | | | Define struct ilo_view_surface for SURFACE_STATE construction and emission.
* ilo: simplify emit_3DSTATE_DEPTH_BUFFER()Chia-I Wu2013-06-071-11/+1
| | | | | | Remove hiz and dsa from the parameters. We would know whether HiZ buffer exists from ilo_texture once it is supported. DSA state should not affect 3DSTATE_DEPTH_BUFFER.
* ilo: introduce sampler CSOChia-I Wu2013-06-071-19/+1
| | | | | | Introduce ilo_sampler_cso and initialize it in create_sampler_state(). This saves us from having to perform CPU-intensive calculations to construct hardware sampler states in draw_vbo().
* ilo: introduce viewport CSOChia-I Wu2013-06-071-9/+17
| | | | | | Introduce ilo_viewport_cso and initialize it in set_viewport_states(). This saves us from having to perform CPU-intensive calculations to construct hardware viewport states in draw_vbo().
* ilo: add support for texture buffer objectsChia-I Wu2013-05-271-8/+26
| | | | | Take care of sampler views that have buffers as the underlying resources. Update caps related to TBOs.
* ilo: correctly set view extent in SURFACE_STATEChia-I Wu2013-05-221-44/+56
| | | | | | | The view extent was set to be the same as the depth while it should be set to the number of layers. It makes a difference for 3D textures. Also use this as a chance to clean up the code.
* ilo: add support for stencil resources on GEN7+Chia-I Wu2013-05-161-0/+3
| | | | | | For allocations, we need to support stencil-only and separate stencil resources. For mapping, we need to support software tiling and packing/unpacking for separate stencil resources.
* ilo: simplify ilo_texture_get_slice_offset()Chia-I Wu2013-05-151-1/+1
| | | | Always return a tile-aligned offset. Also fix for W tiling.
* ilo: rework ilo_textureChia-I Wu2013-05-141-16/+8
| | | | | Use ilo_buffer for buffer resources and ilo_texture for texture resources. A major cleanup is necessitated by the separation.
* ilo: rename ilo_resource to ilo_textureChia-I Wu2013-05-141-34/+34
| | | | In preparation for the introduction of ilo_buffer.
* ilo: implement GEN7 SO GPE functionsChia-I Wu2013-05-011-33/+141
| | | | They were just stubs before.
* ilo: use UMS layout for render targetsChia-I Wu2013-05-011-0/+13
| | | | | As we do not advertise MSAA support, this change should not make any difference yet.
* ilo: support and prefer compact array spacingChia-I Wu2013-05-011-2/+6
| | | | | There is no reason to waste the memory when the HW can support compact array spacing (ARYSPC_LOD0).
* ilo: move device limits to ilo_dev_info or to GPEsChia-I Wu2013-05-011-20/+32
| | | | It seems a bit weird to have device limits in a context.
* ilo: use ilo_dev_info in GPE and 3D pipelineChia-I Wu2013-05-011-134/+134
| | | | | We need only dev->gen and dev->gt, but it makes sense to expose other information to the pipeline.
* ilo: add GEN7 GPEChia-I Wu2013-04-261-0/+1862