History log of /external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4c53267b8f3e79988ea587db071afefc17e4ed8f 27-Aug-2016 Kai Wasserbäch <kai@dev.carbon-project.org> gallium: Use enum pipe_shader_type in set_shader_images()

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
532db3b7881f3dfcd299320cbf44443d06b88373 27-Aug-2016 Kai Wasserbäch <kai@dev.carbon-project.org> gallium: Use enum pipe_shader_type in set_sampler_views()

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
7413625ad357c87f409cd1673b40f8dffbc43259 27-Aug-2016 Kai Wasserbäch <kai@dev.carbon-project.org> gallium: Use enum pipe_shader_type in bind_sampler_states() (v2)

v1 → v2:
- Fixed indentation (noted by Brian Paul)
- Removed second assert from nouveau's switch statements (suggested by
Brian Paul)

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
7cd256ce7e4bad680bb77d033cf5dd662abab2dd 12-Aug-2016 Marek Olšák <marek.olsak@amd.com> gallium: change pipe_sampler_view::first_element/last_element -> offset/size

This is required by OpenGL. Our hardware supports this.

Example: Bind RGBA32F with offset = 4 bytes.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97305

Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
64180de1bf0ab9afcb4e659daf3132aa5b37638c 07-Jun-2016 Rob Clark <robclark@freedesktop.org> gallium: make image_view const

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
ef534b9389bc74b007d76d2a1776068d23e5b887 07-Jun-2016 Rob Clark <robclark@freedesktop.org> gallium: make constant_buffer const

Signed-off-by: Rob Clark <robclark@freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
e193c5dd59555cea56f5d72b4800a54cc77bc76d 28-Apr-2016 Brian Paul <brianp@vmware.com> ilo: s/Elements/ARRAY_SIZE/

Signed-off-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
bceff68114d5daab7a52a42db422ec8f6dc22328 09-Jan-2016 Ilia Mirkin <imirkin@alum.mit.edu> gallium: make image views non-persistent objects

Make them akin to shader buffers, with no refcounting/etc. Just used to
pass data about the bound image in ->set_shader_images.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
1bb79c3a7bee7298b0415ee21a9412c98b1cfee5 19-Dec-2015 Marek Olšák <marek.olsak@amd.com> u_upload_mgr: pass alignment to u_upload_buffer manually

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
e0f932846c91e6eca6495c86b72e87af64dfefb5 19-Dec-2015 Marek Olšák <marek.olsak@amd.com> u_upload_mgr: pass alignment to u_upload_data manually

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
05a12c53a308965aba1c00f0caf36d8e0f32e035 05-Jul-2015 Marek Olšák <marek.olsak@amd.com> gallium: add interface for writable shader images

PIPE_CAPs will be added some other time.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
cbdc26aa3f76dc20285caa7e62ca8809cb2fe638 25-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: replace pipe_format by gen_surface_format

Replace pipe_format by gen_surface_format in ilo_image. Change how depth
format is specified in ilo_state_zs.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
2ee95f6d64aca9e9490c1ac293dd711b5f60a16b 25-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: always use the specified image format

Move silent promotion of PIPE_FORMAT_ETC1_RGB8 or combined depth/stencil out
of core.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
dc2e92b2d3d216fc9657f2ef594d7c5d0b03370e 24-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: replace pipe_texture_target by gen_surface_type

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
36d107e92cc4c1d2b60e0017dbe998af3a2e8b75 24-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: introduce ilo_vma

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
878714142999ca6a6aa03d962e01da94d44c8574 22-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: emit 3DPRIMITIVE from gen6_3dprimitive_info

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().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
513bc5d90b8e9237bd6a04da5d0dee175ff134f6 22-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: move ilo_format.[ch] out of core

They provide PIPE_FORMAT_x to GEN6_FORMAT_x translation as well as some
convenient helpers. Move them out of core.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
e3372c4bfb8d5960714651ca7d3f1acc0018a8fa 15-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add ilo_state_sol_buffer

It serves the same purpose as ilo_state_vertex_buffer does.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
9904e647cca0a15c80557ed7bcc6893faf147436 19-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add ilo_state_index_buffer

It serves the same purpose as ilo_state_vertex_buffer does.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
da4878cb807f46e6053731a177c3c75497aaf4fb 19-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add ilo_state_vertex_buffer

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4555211028394673f8ad68f3de9c12e9a1f93160 18-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add 3DSTATE_VF_INSTANCING to ilo_state_vf

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
e8d297b7a108fcf1cb688fe1db89e83b8f85e091 16-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add 3DSTATE_VF to ilo_state_vf

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
7b3432b62d25494b3662d12634e34d75e29ec865 18-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: embed pipe_index_buffer in ilo_ib_state

Make it obvious that we save a copy of pipe_index_buffer.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
94ab56367169ba2902e83aded409db2df3d25eb1 15-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add ilo_state_raster_{line,poly}_stipple

Initialize hardware stipple states on bound instead of on emission.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
117926debb72e5027faae885f9aa7f1ca61f6a9c 11-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: merge ilo_state_3d*.[ch] to ilo_state.[ch]

With most code replaced to ilo_state_*, what was left did not belong there
anymore.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
54e0a8ed5dcaaa0ef483d5960ae86f88e0bf8990 12-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add ilo_state_ps to ilo_shader_cso
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
30fcb31c9b095451ce5ac5a10c3c6b177dc03e20 12-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add ilo_state_{vs,hs,ds,gs} to ilo_shader_cso
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
da6e45fcbc4570df0ec4b8c8885f33a206da3552 02-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: embed ilo_state_sbe in ilo_shader
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
5a52627c4f9215649b0f244af96512b9aafceaa1 02-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: embed ilo_state_vf in ilo_ve_state
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
9bfa987fb00a4e0471bcdb4948c8f416d7c5b562 28-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: embed ilo_state_urb in ilo_state_vector
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
960ca7d5e32997a5367cf798f7930cbb890b3ab4 11-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: embed ilo_state_cc in ilo_blend_state
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
402e155cd3a757a583f81fa6545c855b63947e7c 05-Jun-2015 Chia-I Wu <olvaffe@gmail.com> ilo: embed ilo_state_raster in ilo_rasterizer_state
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
ded7d412d04cf702596e91f36ba586b18f1933a2 17-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: embed ilo_state_viewport in ilo_viewport_state
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4b5c0a83415137ba1f894d70a6cf73db83d21f15 21-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: replace ilo_sampler_cso with ilo_state_sampler
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
745ef2c07b23e1cf227eb26871fc464198b956e8 20-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: replace ilo_view_surface with ilo_state_surface
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
c10c1ac0cfb0ae42742f369d9f3fa2f4fba8639a 18-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: replace ilo_zs_surface with ilo_state_zs
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
f9d2bbe967fb1fbbe7102c0765f067b3155f5ca6 17-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: add pipe_texture_target to ilo_image

Save the target in ilo_image instead of passing it around.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
9da9cf729ff74684902cbb4b53b5cccd442df28e 15-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: fix "Render Cache Read Write Mode"

It needs be set to R/W only when using certain messages via DP render cache.
Since we only use RT wrties with the render cache, we never need to set it.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4348046a2f08d9795a158b96f8579f13f5e693e6 02-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: use ilo_image exclusively in core

Initialize ilo_view_surface and ilo_zs_surface from ilo_image instead of
ilo_texture.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
9e24c49e6443c076ad892e6004e04956560e446a 01-May-2015 Chia-I Wu <olvaffe@gmail.com> ilo: move ilo_state_3d* to core

ilo state structs (struct ilo_xxx_state) are moved as well.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
ac47563cb40a79ec2bf149c6d9916a9d66361753 08-Mar-2015 Chia-I Wu <olvaffe@gmail.com> ilo: move ilo_layout.[ch] to core as ilo_image.[ch]

Move files and s/layout/image/.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
7562f9e907d9bb00832c6b75b833acd169bfe0ea 07-Mar-2015 Chia-I Wu <olvaffe@gmail.com> ilo: rename ilo_dev_info to ilo_dev

With intel_winsys being embedded in it, drop the "_info" suffix.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
0ac706535a07d003b9a40f8bad5445dd50f6c35b 05-Mar-2015 Chia-I Wu <olvaffe@gmail.com> ilo: replace intel_tiling_mode by gen_surface_tiling

The former is used by the kernel driver to set up fence registers and to pass
tiling info across processes. It lacks INTEL_TILING_W, which made our code
less expressive.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
c88c49baf420556a130041044a7f074d6368f080 09-Nov-2014 Chia-I Wu <olvaffe@gmail.com> ilo: use top/bottom split for state functions

Follow the builder and split state functions into top (vertex processing) and
bottom (pixel processing).

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
207eccc5bf43a8b63b68e29c9d5e02744d115f56 30-Oct-2014 Chia-I Wu <olvaffe@gmail.com> ilo: add ilo_finalize_compute_states()

It updates the handles of the global bindings.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
9feb637cd0ea77f1ef232153daf9d9fd30bccd3d 30-Oct-2014 Chia-I Wu <olvaffe@gmail.com> ilo: use a dynamic array for global bindings

Use util_dynarray in ilo_set_global_binding() to allow for unlimited number of
global bindings. Add a comment for global bindings.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
ca824e69403a32144328d1fb7987d0537e88ee04 04-Oct-2014 Chia-I Wu <olvaffe@gmail.com> ilo: let shaders determine sampler counts

When a shader needs N samplers, we should upload N samplers and not depend on
how many are bound.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
2d13b5ac81a8c2aa1f36be7e3350b12fbdbd65e8 30-Sep-2014 Chia-I Wu <olvaffe@gmail.com> ilo: add a pass to finalize ilo_ve_state

Add finalize_vertex_elements() to finalize ilo_ve_state. This fixes a
potential issue with URB entry allocation for VS and move the complexity of
gen6_3DSTATE_VERTEX_ELEMENTS() to the new function.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
6c0de4b979520583c1033794380b1c2e6785064e 19-Sep-2014 Chia-I Wu <olvaffe@gmail.com> ilo: add a new struct for context states

Move pipe states in ilo_context to the new ilo_state_vector. The motivation
is that ilo_context consists of several loosely related things. When we need
an ilo_context somewhere, we usually need only one or two of the things in it.
This change makes ilo_state_vector one such thing.

An immediate result is that we no longer need ilo_context in 3D pipelines,
something we have planned for since early days.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
284d767be0589143d5c20fdf1f3b52cadf2663f6 19-Sep-2014 Chia-I Wu <olvaffe@gmail.com> ilo: merge ilo_gpe.h to ilo_state*.h

Move the #define's and struct's to ilo_state.h. Move the inline functions and
function declarations to ilo_state_gen.h.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
5b4fc5f156bff72e63e2f528004a48d008d3af6f 17-Aug-2014 Chia-I Wu <olvaffe@gmail.com> ilo: remove layer offsetting

Follow i965 to kill layer offsetting for GEN6.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
fb3d506431871fdb04fc84bbcc916d8f9d7c9954 08-Aug-2014 Chia-I Wu <olvaffe@gmail.com> ilo: migrate to ilo_layout

Embed an ilo_layout in ilo_texture, and remove now duplicated members.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
cc1e1da24a6c535617d9fb38858d48d8c2999e68 28-Jul-2014 Chia-I Wu <olvaffe@gmail.com> ilo: correctly propagate resource renames to hardware

Not only should we mark states dirty when the underlying resource is renamed,
we should also update the CSO bo when available.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
dfa25ea5cd19d5a050a1c94bd7370a2259b9f007 07-Mar-2014 Zack Rusin <zackr@vmware.com> gallium: allow setting of the internal stream output offset

D3D10 allows setting of the internal offset of a buffer, which is
in general only incremented via actual stream output writes. By
allowing setting of the internal offset draw_auto is capable
of rendering from buffers which have not been actually streamed
out to. Our interface didn't allow. This change functionally
shouldn't make any difference to OpenGL where instead of an
append_bitmask you just get a real array where -1 means append
(like in D3D) and 0 means do not append.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
fa772aa92baf659855f69829fa3f0d0f4fcbc2a6 14-Jan-2014 Chia-I Wu <olvaffe@gmail.com> ilo: handle NULL renderbuffers correctly

Renderbuffers may be NULL since 9baa45f78b8ca7d66280e36009b6a685055d7cd6.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
011fde4bf2b4337cb07ddc1af8b4398fef9b3648 20-Dec-2013 Chia-I Wu <olvaffe@gmail.com> ilo: offset to layers only when necessary

GEN6 has several requirements regarding the LOD/Depth/Width/Height of the
render targets and the depth buffer. We used to offset to the layers in
question unconditionally to meet the requirements. With this commit,
offseting is done only when the requirements are not met.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
0a2a221d019651c98dabe6773e56118ae0009f8d 20-Dec-2013 Chia-I Wu <olvaffe@gmail.com> ilo: allow ilo_zs_surface to skip layer offsetting

Make offset to layer optional in ilo_gpe_init_zs_surface.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
8d9f5d57e25af3de0e35e5c7f3c0bff03b080ba7 20-Dec-2013 Chia-I Wu <olvaffe@gmail.com> ilo: allow ilo_view_surface to skip layer offsetting

Make offset to layer optional in ilo_gpe_init_view_surface_for_texture.
render_cache_rw is always the same as is_rt and is replaced.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
d2fdc0d634f8fecebfe46d9ec2a3c3a03663d8b3 28-Oct-2013 Chia-I Wu <olvaffe@gmail.com> ilo: minor cleanups for recent interface changes

Kill ilo_bind_sampler_states2 and ilo_set_sampler_views2. Map
PIPE_FORMAT_R10G10B10A2_UINT to BRW_SURFACEFORMAT_R10G10B10A2_UINT.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
a3ed98f7aa85636579a5696bf036ec13e5c9104a 08-Oct-2013 Brian Paul <brianp@vmware.com> gallium: new, unified pipe_context::set_sampler_views() function

The new function replaces four old functions: set_fragment/vertex/
geometry/compute_sampler_views().

Note: at this time, it's expected that the 'start' parameter will
always be zero.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
5807105ad784e9527385b923c23a188a4563bda8 12-Sep-2013 Brian Paul <brianp@vmware.com> ilo: don't hook up old bind_*_sampler_states() functions
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
41a9be70e425774b9c6444f3167594a41ef24506 12-Sep-2013 Brian Paul <brianp@vmware.com> ilo: implement pipe_context::bind_sampler_states()
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4a6939edae2cc36fc931824ce91484cc0480ec8c 13-Sep-2013 Chia-I Wu <olvaffe@gmail.com> ilo: make ilo_bind_sampler_states return void

So that it can be hooked up pipe_context::bind_sampler_states that is
currently living on another branch.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
216a576e111b85662eabd8d4c398149818adbf39 29-Jul-2013 Chia-I Wu <olvaffe@gmail.com> ilo: add ILO_DEBUG=draw

It can print out pipe_draw_info and the dirty bits set, useful for debugging.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
5df62dce347eb8046a38630280aa043e075ac56f 17-Jul-2013 Chia-I Wu <olvaffe@gmail.com> ilo: make constant buffer 0 upload optional

Add ILO_KERNEL_SKIP_CBUF0_UPLOAD so that we can skip constant buffer 0 upload
when the kernel does not need it.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
8b5b5fe3944d75c5d3667516139e366d2207c22a 13-Aug-2013 Chia-I Wu <olvaffe@gmail.com> Revert "ilo: initialize constant buffer SURFACE_STATE early"

This reverts commit a9b800aa81cffdcaef2490ff49986099feae2663. With push
constant support, the constructed SURFACE_STATE is unused and wasted. The
change only slows things down.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
a9b800aa81cffdcaef2490ff49986099feae2663 11-Aug-2013 Chia-I Wu <olvaffe@gmail.com> ilo: initialize constant buffer SURFACE_STATE early

Fix ilo_gpe_init_view_surface_for_buffer to allow buffer to be NULL, and add
ilo_gpe_set_view_surface_bo to set it later. This allows us to set up
SURFACE_STATE early for constant buffers backed by user buffers.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
b2f79a3823bd5fca3f3080351f87b41e2396c8f6 09-Aug-2013 Chia-I Wu <olvaffe@gmail.com> ilo: 3DSTATE_INDEX_BUFFER may be wrongly skipped

In finalize_index_buffer(), when the current index buffer was destroyed due to
u_upload_data(), it may happen that the new index buffer is at the same
address as the old one. Comparing the pointers to the two buffers could fail
to work, and 3DSTATE_INDEX_BUFFER would be incorrectly skipped.

Holding a reference to the current index buffer before calling u_upload_data()
should fix the problem.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
7ce3cbaacfa0a971b48c74615dd858be44d54642 07-Aug-2013 Chia-I Wu <olvaffe@gmail.com> ilo: skip state emission when reducing sampler count

When the number of sampler states bound is reduced, we are good to keep
referencing the old SAMPLER_STATE array and skip emitting a new one.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
2811dba1d0a5a0a7cd57fa06c6cb1829ac5ac4ba 07-Aug-2013 Chia-I Wu <olvaffe@gmail.com> ilo: simplify setting of shader samplers and views

Remove the special path that unbinds all samplers/views not in the range.
Just make another call to unbind them.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
186dab5b8fd1d937dfb3b4379d00e4e88f929c36 07-Aug-2013 Chia-I Wu <olvaffe@gmail.com> ilo: correctly check for stencil ref change

I intended to do a memcmp(), not a memcpy()...
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
62c546bbf87afe32e49c100e245e04bc35304481 13-Jul-2013 Chia-I Wu <olvaffe@gmail.com> ilo: skip 3DSTATE_INDEX_BUFFER when possible

When only the offset to the index buffer is changed, we can skip the
3DSTATE_INDEX_BUFFER if we always use 0 for the offset, and add
(offset / index_size) to Start Vertex Location in 3DPRIMITIVE.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
bf9670270fb3deef8ad194f1a1ee78e253769234 12-Jul-2013 Chia-I Wu <olvaffe@gmail.com> ilo: mark some states dirty when they are really changed

The checks may seem redundant because cso_context handles them, but
util_blitter does not have access to cso_context.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
2c9b6a2164281f29217e75c3ab3a018dcd22ae11 28-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: remove ilo_cbuf_state::count

We can derive it from enabled_mask.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
7ea3ed81c80ec5941beacace4c6869c870b55478 28-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: clean up ilo_set_constant_buffer()

Add loops that will be optimized away.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
11d283cde9ff63aced46c95a966592beaaf23ab8 28-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: clean up states that take a start_slot

They are similar, so clean them up to make them look similar.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
20c691b9368ece77c8dc22d6af0aedb9a21eccbc 27-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: use shorter names for dirty flags

The new names match those of ilo_context's members respectively, and are
shorter.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
9f3cfe6aafc210906be85de065afff7503ef240b 27-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: plug a potential index buffer leak

This is harmless since st_context and u_vbuf both set index buffer to NULL
before destroying themselves. But we do not want to rely on that behavior.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
c610b67972b4a06a25699623d1134b197ae277e0 26-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: use a bitmask for enabled constant buffers

Looping over 4 * 13 constant buffers while in most cases only two are enabled
is stupid.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
95c21f12f321bb33ae8e1f1b255680ac8eeffade 26-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: support PIPE_CAP_USER_INDEX_BUFFERS

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
5fb5d4f0a6208e720998bbdbfe83df1035957f4a 26-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: make pipe_draw_info a context state

Rename ilo_finalize_states() to ilo_finalize_3d_states(), and bind
pipe_draw_info to the context when it is called. This saves us from having to
pass pipe_draw_info around in several places.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
3eb6754e94c623c4c2393f23aeaafa933bee154e 25-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: support PIPE_CAP_USER_CONSTANT_BUFFERS

We need it for HUD support, and will need it for push constants in the future.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
9b18df6e087a4db8ed5ed38bcc6b1db34fa95586 24-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: move SBE setup code to ilo_shader.c

Add ilo_shader_select_kernel_routing() to construct 3DSTATE_SBE. It is called
in ilo_finalize_states(), rather than in create_fs_state(), as it depends on
VS/GS and rasterizer states.

With this change, ilo_shader_internal.h is no longer needed for
ilo_gpe_gen6.c.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
96e2133e72ec0fb6173b79838f1a7d153b8f25b6 19-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: clean up finalize_shader_states()

Add ilo_shader_select_kernel() to replace the dependency table,
ilo_shader_variant_init(), and ilo_shader_state_use_variant().

With the changes, we no longer need to include ilo_shader_internal.h in
ilo_state.c.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
f0afedeb750d9f696242294c730827a28bdaac70 19-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: use multiple entry points for shader creation

Replace ilo_shader_state_create() by

ilo_shader_create_vs()
ilo_shader_create_gs()
ilo_shader_create_fs()
ilo_shader_create_cs()

Rename ilo_shader_state_destroy() to ilo_shader_destroy(). The old
ilo_shader_destroy() is renamed to ilo_shader_destroy_kernel().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4d789c76dce580d754fe146041d7a1118524a4ff 20-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: move internal shader interface to a new header

Move it to ilo_shader_internal.h. The goal is to make files not part of the
compiler include only ilo_shader.h eventually.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
cf41fae96b3d796ce80b2d1ad76b5c84a0669314 19-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: rework shader cache

The new code makes the shader cache manages all shaders and be able to upload
all of them to a caller-provided bo as a whole.

Previously, we uploaded only the bound shaders. When a different set of
shaders is bound, we had to allocate a new kernel bo to upload if the current
one is busy.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
443dc15cf77edcaa7804c4277f0cce5d7c1d6b25 17-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: construct depth/stencil command in create_surface()

Add ilo_gpe_init_zs_surface() to construct

3DSTATE_DEPTH_BUFFER
3DSTATE_STENCIL_BUFFER
3DSTATE_HIER_DEPTH_BUFFER

at surface creation time. This allows fast state emission in draw_vbo().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
36ffd0870642d88e0a6a2a71e6c9b44fe656cae0 14-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: add some assertions to help debugging

Assert that we do not support user vertex/index/constant buffers. Issue a
warning when a sampler view is created for a resource without
PIPE_BIND_SAMPLER_VIEW.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
c7e9b15010c32302d3cceac06ff8c34619deab7c 13-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: mapping a resource may make some states dirty

When a resource is busy and is mapped with
PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE, the underlying bo is replaced. We need
to mark states affected by the resource dirty.

With this change, we no longer have to emit vertex buffers and index buffer
unconditionally.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4df85dbc0652d13093bc29c93b247ced4654af6c 13-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: initialize dirty flags in ilo_init_states()

Now that we have a function to initialize states, initialize dirty flags there
too.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
09f62a13fcddd237e7a3aef6185377f9a585a332 04-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: clean up states upon context destroy

We need to unreference resources that we referenced.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
3c2fea206fa279f40ecca6a1dba00251857e1029 04-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: construct 3DSTATE_CLIP in create_rasterizer_state()

Add ilo_rasterizer_clip and initialize it in create_rasterizer_state().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4006f4ce265199b1ad8dfc9e8ca7fb5176a44527 03-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: use emit_SURFACE_STATE() for render targets

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
5354dc742899c498a97fe6f64cc5d9237beb1e9f 03-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: use emit_SURFACE_STATE() for constant buffers

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().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
2d82885d3cd9c5ab90e4777da8dfd723da273cd8 06-Jun-2013 Chia-I Wu <olvaffe@gmail.com> ilo: add emit_SURFACE_STATE() for sampler views

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.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
c6983ea035d6bef345517a13fed6abc1441407cf 31-May-2013 Courtney Goeltzenleuchter <courtney@LunarG.com> ilo: convert generic depth-stencil-alpha pipe state to ilo pipe state

Moving the work to create time reduces the work at emit time.
Saves time overall as create work is only done once.
Fix compiler warning in gen7_pipeline_sol.

[olv: remember pipe_alpha_state instead of pipe_depth_stencil_alpha_state in
ilo_dsa_state]
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
70e78211d6c09b3076ac261d2cde9d0037540065 31-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: introduce vertex element CSO

Introduce ilo_ve_cso and initialize it in create_vertex_elements_state().
This commit goes a step further by setting up mappings from HW VB to PIPE VB,
which we failed to do previously. That allows us to support instanced
rendering.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
eea1be2072a1c980871d80df71d3e39a67fdfb0a 31-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: introduce blend CSO

Introduce ilo_blend_cso and initialize it in create_blend_state(). This saves
us from having to construct hardware blend states in draw_vbo().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
b3c9e2161f22c3c6b8b2fc83ea4bc7ea883329d7 31-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: introduce sampler CSO

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().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
99725d2f8ae2e2d0dd1e80ac05b127c7f99778d3 30-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: construct SCISSOR_RECT in set_scissor_states()

This allows us to memcpy() the state in draw_vbo(). Add ilo_init_states() and
ilo_cleanup_states() that are called when contexts are created and destroyed
respectively, and properly set the initial scissor state in ilo_init_states().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
e51806ee7ab52873c773619595962582c2abf0fe 30-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: introduce viewport CSO

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().
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
4228cf37467688dc4f6a10c8d2c42c6243f789e9 29-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: switch to ilo states for shaders and resources

Define and use

struct ilo_sampler_state;
struct ilo_view_state;
struct ilo_cbuf_state;
struct ilo_resource_state;
struct ilo_global_binding;

in ilo_context.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
94212915ee8f7bf98c8adfe248a05a382d00c191 29-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: switch to ilo states for CC stage

Define and use

struct ilo_dsa_state;
struct ilo_blend_state;
struct ilo_fb_state;

in ilo_context.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
29b938d9f43a4bc355ee05cad2c9796ea7ee93dd 29-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: switch to ilo states for WM stage

Define and use

struct ilo_rasterizer_state;

in ilo_context.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
130364ad1d5010e9320aaa312309f83746d751d3 29-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: switch to ilo states for CLIP and SF stages

Define and use

struct ilo_viewport_state;
struct ilo_scissor_state;

in ilo_context.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
3bc8289f49f6f1a7256c7d199d09d3753c10af3a 29-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: switch to ilo states for SOL stage

Define and use

struct ilo_so_state;

in ilo_context.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
6b14b392d04d8f1b43d565f65cdbd738b9f950a7 29-May-2013 Chia-I Wu <olvaffe@gmail.com> ilo: switch to ilo states for VF stage

Define and use

struct ilo_vb_state;
struct ilo_ve_state;
struct ilo_ib_state;

in ilo_context.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
eaabb4ead07ae043ecc789024028e225ebd0f318 24-May-2013 Zack Rusin <zackr@vmware.com> gallium: Add support for multiple viewports

Gallium supported only a single viewport/scissor combination. This
commit changes the interface to allow us to add support for multiple
viewports/scissors.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Marek Olšák <maraeo@gmail.com>
Reviewed-by: José Fonseca<jfonseca@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
89d1702b9b31488ae95a4364b4161b9186d5220b 16-Apr-2013 Chia-I Wu <olvaffe@gmail.com> ilo: hook up pipe context state functions
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c
63b572010554d62c3463c8db4e016ecbed117178 12-Dec-2012 Chia-I Wu <olv@lunarg.com> ilo: new pipe driver for Intel GEN6+

This commit adds some boilerplate code. The header files found under include/
are copied from i965.
/external/mesa3d/src/gallium/drivers/ilo/ilo_state.c