summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-05-11Android: rework libelf dependenciesRob Herring3-7/+5
Add libelf as a library dependency rather than explicitly listing its include paths. This should work for Android M and later which have the necessary exported directories in libelf. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11Android: push driver build details to driver makefilesRob Herring17-70/+95
src/gallium/targets/dri/Android.mk contains lots of conditional for individual drivers. Let's move these details into the individual driver makefiles. In the process, align the make driver conditionals with automake (i.e. HAVE_GALLIUM_*). Signed-off-by: Rob Herring <robh@kernel.org> [Emil Velikov: add the radeon winsys for radeonsi] Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11Android: remove needless conditional including of child makefilesRob Herring4-67/+4
It is not necessary to filter driver and winsys directories based on the list of enabled drivers. Selecting the included driver libraries or not is sufficient to control what is built. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11Android: Fix swrast only buildRob Herring2-9/+6
A build of only swrast is broken as the Android EGL now depends on libdrm as does GBM. While we could make EGL conditionally depend on libdrm, we probably want to enable kms_dri winsys as well and that will need libdrm enabled. So just always enable libdrm and simplify the Android makefiles a bit. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw> [Emil Velikov: drop related inline comment] Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11Android: amd/common: fix dependency on libmesa_nirRob Herring2-1/+4
Building libmesa_amd_common fails with: external/mesa/src/amd/common/ac_shader_info.c:23:10: fatal error: 'nir/nir.h' file not found ^ external/mesa/src/compiler/nir/nir.h:48:10: fatal error: 'nir_opcodes.h' file not found ^ libmesa_amd_common now depends on libmesa_nir, so add it as a dependency and export the necessary directories. Fixes: 224cf29 "radv/ac: add initial pre-pass for shader info gathering" Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11Android: amd: use exported include dirs instead of explicit includesRob Herring4-8/+10
Add exported include paths rather than explicitly adding the includes in each user of the common AMD libs. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11Android: remove remaining explicit libcxx includesRob Herring4-5/+1
Explicitly including libcxx includes is not necessary at least on Android M and later. It appears that libc++ was made the default in commit "Make libc++ the default STL." in Android build system post L. However, if L support is still needed, using "LOCAL_CXX_STL=libc++" is the preferred way. Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11Android: drop static linking of R600 LLVM librariesMauro Rossi1-6/+1
Inspired by Chih-Wei Huang and Zhen Wu similar patches Linking against llvm with both static and shared may be avoided, provided that libLLVM shared library for device supports whole static R600/AMDGPU libraries, necessary for radeonsi/amdgpu. Complementary changes, limited to android external/llvm project are necessary to correclty build libLLVM Tested with marshmallow-x86 and nougat-x86 builds Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-11mesa: remove _CurrentFragmentProgram from gl_pipeline_objectTimothy Arceri6-36/+2
This was added in b527dd65c830a as a work around because fixed function fragment shaders were tracked in ctx->FragmentProgram._Current as a gl_program rather than gl_shader_program. However after my refactoring of the program and shader structs at the end of 2016 which culminated in c505d6d85222, we no longer need gl_shader_program to track the current program making _CurrentFragmentProgram obsolete. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2017-05-11mesa: add KHR_no_error support for FramebufferTexture*D functionsTimothy Arceri3-3/+45
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: add no error version of framebuffer_texture_with_dims()Timothy Arceri1-0/+22
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: add error version of get_texture_for_framebuffer()Timothy Arceri1-8/+18
This is a step towards KHR_no_error support. Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: pass rb attachment to _mesa_framebuffer_texture()Timothy Arceri3-21/+45
This change will help us add KHR_no_error support to the caller. Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: add _mesa_get_and_validate_attachment() helperTimothy Arceri2-12/+30
Will be used to add KHR_no_error support. We make this available external so it can be called from meta. Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: remove _mesa_problem() from a few locationsTimothy Arceri3-10/+6
_mesa_problem() is still useful in some places such as is if a backend compile fails, but for the majority of cases we should be able to remove it. OpenGL test suites are becoming very mature, we should place more trust in debug builds picking up missed cases. Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: make _mesa_get_framebuffer_attachment_parameter() staticTimothy Arceri2-16/+9
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: fix indentationTimothy Arceri1-1/+1
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: remove _mesa from static framebuffer object functionTimothy Arceri1-3/+3
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11gallivm: Fix build against LLVM SVN >= r302589Michel Dänzer1-3/+9
deregisterEHFrames doesn't take any parameters anymore. Reviewed-by: Vedran Miletić <vedran@miletic.net> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2017-05-11mesa: small _mesa_UseProgram() tidy upTimothy Arceri1-4/+1
Makes the code easier to follow. Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: add KHR_no_error support for glBindProgramPipeline()Timothy Arceri3-1/+29
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: add KHR_no_error support for glActiveShaderProgram()Timothy Arceri3-1/+21
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: add KHR_no_error support for glUseProgramStages()Timothy Arceri3-1/+25
Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11mesa: create use_program_stages() helperTimothy Arceri1-32/+39
This will be used to create a KHR_no_error version of glUseProgramStages(). Reviewed-by: Eric Anholt <eric@anholt.net>
2017-05-11radv: handle fragment shader srgb resolve pass betterDave Airlie2-11/+38
Bas pointed out the fs key doesn't take srgb into account, since there is just one srgb variant, just create a separate pipeline for it. This also uses dest format to be more consistent on when srgb matters. Fixes: 69136f4e633 "radv/meta: add resolve pass using fragment/vertex shaders" Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-05-10i965: Make INTEL_DEBUG=bat decode VS/CLIP/GS/SF/WM/CC_STATE on Gen4-5.Kenneth Graunke1-1/+21
This is something the original decoder did, but I didn't bother with until now. I recently had to debug an Ironlake issue, and wanted to inspect VS_STATE. So, now it's back. The other packets in the switch statement are all Gen6/7+, where we use offsets from dynamic state base address, so we don't need the gtt_offset subtraction introduced here. We might want to make a helper for this hack at some point - perhaps when we introduce the next occurance. Acked-by: Jason Ekstrand <jason@jlekstrand.net>
2017-05-10i965: Switch BRW_NEW_CURBE_OFFSETS to BRW_NEW_PUSH_CONSTANT_ALLOCATION.Kenneth Graunke8-18/+14
The BRW_NEW_CURBE_OFFSETS dirty bit is signalled when changing the partitioning of the Constant Buffer URB section between the various shader stages, on Gen4-5. BRW_NEW_PUSH_CONSTANT_ALLOCATION is basically the same thing on Gen7+. So, save a bit, and use the new name. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2017-05-10i965: Drop BRW_NEW_PUSH_CONSTANT_ALLOCATION from Gen6 code.Kenneth Graunke1-9/+3
Gen6 doesn't have a configurable push constant region. This is only used on Gen7+. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
2017-05-10i965: Only #if...#endif a single function or related section at a time.Kenneth Graunke1-3/+38
Previously we guarded large swathes of code with #if GEN ... #endif blocks. This made it difficult to see which generations include what. This patch splits up the #if..#endif sections so they surround a small section of code - usually a single function/atom, or sometimes a group of related functions. It should make the code easier to work on. Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
2017-05-10i965: Turn brw_get_line_width_float() into brw_get_line_width().Kenneth Graunke2-12/+4
Drop the old brw_get_line_width() helper which return the unsigned fixed-point encoding of the line width - it's been dead since the conversion to GENXML (which does the encoding for us). Then rename brw_get_line_width_float() to the shorter name. Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
2017-05-10i965: Drop INTEL_DEBUG=stats.Kenneth Graunke8-17/+3
For whatever reason, we had an INTEL_DEBUG=stats option that enabled various statistics counters on Gen4-5 systems. It's been around forever, though I can't think of a single time that it's been useful. On Gen6+, we enable statistics all the time because they're necessary to support various query object targets. Turning them off would break those queries. Gen4-5 don't support those queries, so the statistics counters generally aren't useful; we disabled them by default. This patch disables them altogether. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2017-05-10i965: Disable ARB_pipeline_statistics_query on Gen4-5.Kenneth Graunke1-1/+1
We apparently enabled this on all platforms in Mesa 10.6. However, it was only ever implemented for Gen6+. The Gen4-5 query code goes up in flames with an "Unrecognized query target" unreachable() error if you even attempt to use any of the new functionality. This wasn't caught because the Piglit tests require OpenGL 3.0, which Gen4-5 cannot support. The extension spec does say 3.0 is required, though I'm not sure why - it seems like 2.1 would work fine. We could implement it anyway, but it's a little bit of a pain due to the lack of hardware contexts (so we have to snapshot around batches). Given that it's been 100% broken for two years and I haven't seen a bug report about it, I'm not terribly inclined to care. So, let it go. Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2017-05-10st/mesa: move the logic of all_varyings_in_vbos into st_update_arrayMarek Olšák3-25/+12
The function was pretty slow. This brings a substantial decrease in draw call overhead when min/max index bounds are not needed: Before: DrawElements (1 VBO) w/ no state change: 5.75 million After: DrawElements (1 VBO) w/ no state change: 7.03 million Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10st/mesa: unify common code in st_draw_vbo functionsMarek Olšák1-27/+21
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10st/mesa: make st_draw_vbo staticMarek Olšák3-14/+2
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10radeonsi: remove upload code for zero-stride vertex attribsMarek Olšák1-26/+8
st/mesa takes care of it now. Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2017-05-10st/mesa: upload zero-stride vertex attributes hereMarek Olšák3-16/+48
This is the best place to do it. Now drivers without u_vbuf don't have to do it. v2: use correct upload size and optimal alignment Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10gallium: add PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEXMarek Olšák17-0/+18
The next patch will use it. This is really for svga and GL2-level drivers. Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2017-05-10st/mesa: simplify the signature of get_client_arrayMarek Olšák1-10/+8
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10st/mesa: remove vpv->num_inputs dereferences in st_update_arrayMarek Olšák1-20/+20
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10st/mesa: fold error handling into setup_(non_)interleaved_attribsMarek Olšák1-18/+10
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10st/mesa: fold cso calls into setup_(non_)interleaved_attribsMarek Olšák1-46/+45
Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10st/mesa: don't call util_draw_init_info in st_draw_vboMarek Olšák1-2/+8
2017-05-10gallium: remove pipe_index_buffer and set_index_bufferMarek Olšák107-1217/+667
pipe_draw_info::indexed is replaced with index_size. index_size == 0 means non-indexed. Instead of pipe_index_buffer::offset, pipe_draw_info::start is used. For indexed indirect draws, pipe_draw_info::start is added to the indirect start. This is the only case when "start" affects indirect draws. pipe_draw_info::index is a union. Use either index::resource or index::user depending on the value of pipe_draw_info::has_user_indices. v2: fixes for nine, svga
2017-05-10gallium: separate indirect stuff from pipe_draw_info - 80 -> 56 bytesMarek Olšák14-113/+152
For faster initialization of non-indirect draws.
2017-05-10gallium: decrease the size of pipe_vertex_buffer - 24 -> 16 bytesMarek Olšák80-368/+400
2017-05-10st/glsl_to_tgsi: make sure resource file for samplers is PROGRAM_SAMPLERSamuel Pitoiset1-9/+9
Similar to how image resources are handled. That way we are sure that inst->resource.file is PROGRAM_SAMPLER for "bound" samplers. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10radeonsi: silent a compiler warningSamuel Pitoiset1-1/+1
This fixes: si_shader.c: In function ‘si_shader_dump_stats’: si_shader.c:6704:31: warning: passing argument 1 of ‘si_get_max_workgroup_size’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] si_get_max_workgroup_size(shader); ^~~~~~ si_shader.c:5832:17: note: expected ‘struct si_shader *’ but argument is of type ‘const struct si_shader *’ static unsigned si_get_max_workgroup_size(struct si_shader *shader) Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10mesa: use u_bit_scan() in update_program_texture_state()Samuel Pitoiset1-9/+5
The check in update_single_program_texture() can also be removed. v2: - remove unused 's' variable Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-05-10mesa: remove never used gl_shader_compiler_options::EmitNoFunctionsSamuel Pitoiset2-2/+0
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Elie Tournier <elie.tournier@collabora.com>