summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* docs: Update 17.2.0 release notesmesa-17.2.0Emil Velikov2017-09-041-2/+149
| | | | Signed-off-by: Emil Velikov <[email protected]>
* Update version to 17.2.0(final)Emil Velikov2017-09-041-1/+1
| | | | Signed-off-by: Emil Velikov <[email protected]>
* Update version to 17.2.0-rc6mesa-17.2.0-rc6Emil Velikov2017-08-311-1/+1
| | | | Signed-off-by: Emil Velikov <[email protected]>
* egl/wayland: make sure HAS_$FORMAT is set for wl_dmabufEmil Velikov2017-08-291-0/+3
| | | | | | | | | | Otherwise eglCreateWaylandBufferFromImageWL will fail, since we have no "supported" format. Fixes: 02cc35937277 ("egl/wayland: Use linux-dmabuf interface for buffers") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (cherry picked from commit 9e07005e8709a51f9236e78e8d47d71ab3243e4d)
* egl/wayland: set correct format with wl_dmabuf as wl_drm is missingEmil Velikov2017-08-291-1/+1
| | | | | | | | | | | For most/all cases today, we have wl_drm available alongside wl_dmabuf. Yet in the long run, we want to make sure the latter can operate without any traces of the former. Fixes: 02cc35937277 ("egl/wayland: Use linux-dmabuf interface for buffers") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (cherry picked from commit da100fe6970ac8ca34ced69c6c5dfe8a4f5bec90)
* egl/wayland: polish object teardown in dri2_wl_destroy_surfaceEmil Velikov2017-08-291-2/+2
| | | | | | | | | | | The wl_drm wrapper is created before the wl display/surface ones. Thus make sure we destroy it after them. In reality it should not make any difference either way. Fixes: 03dd9a88b0b ("egl/wayland: Use per-surface event queues") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (cherry picked from commit 1a8015e753c6f52b24a473ea60e3ce0b38de7d42)
* egl/wayland: plug leaks in dri2_wl_create_window_surface() error pathEmil Velikov2017-08-291-2/+6
| | | | | | | | | We forgot to teardown the wl display/surface wrappers. Fixes: 03dd9a88b0b ("egl/wayland: Use per-surface event queues") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]> (cherry picked from commit 83442112d7136b6d0c2f6d84c409c04664aeb154)
* radv: clear dynamic_shader_stages on createGrazvydas Ignotas2017-08-291-0/+1
| | | | | | | | | Valgrind reports it's being used uninitialized. Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver" Signed-off-by: Grazvydas Ignotas <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit 77803748336713854a4ade192253c0ba01c49047)
* radv/wsi: Compute correct row_pitch for GFX9.Dave Airlie2017-08-291-2/+6
| | | | | | | | (commit split out by Bas Nieuwenhuizen) Fixes: 65477bae9cf "radv: enable GFX9 on radv" Reviewed-by: Bas Nieuwenhuizen <[email protected]> (cherry picked from commit 9573bd70e1e7e32527d9c40716174c30fcc9720e)
* egl: don't NULL deref the .get_capabilities function pointerEmil Velikov2017-08-291-1/+2
| | | | | | | | | | | | | | One could easily introduce version 3 of the DRI2fenceExtension, extending the struct, while not implementing the above function. Thus we'll end up with NULL pointer, and dereferencing it won't fare too well. Fixes: 0201f01dc4e ("egl: add EGL_ANDROID_native_fence_sync") Cc: Rob Clark <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> (cherry picked from commit f0d053cb6dda908d554d84629bd98e05d383a8f6)
* radv: Fix sparse BO mapping merging.Bas Nieuwenhuizen2017-08-291-0/+1
| | | | | | | | | If we merge a mapping with the mapping before it, we also need to not only change the offset, but also the bo offset. Fixes: 715df30a4e2 "radv/amdgpu: Add winsys implementation of virtual buffers." Reviewed-by: Dave Airlie <[email protected]> (cherry picked from commit 9b7e663da1d88f398a349e158c27b38a66b73fe3)
* radv: Fix off by one in MAX_VBS assert.Bas Nieuwenhuizen2017-08-291-1/+1
| | | | | | | | | e.g. 0 + 32 <= 32 should be valid. Fixes: f4e499ec791 "radv: add initial non-conformant radv vulkan driver" Tested-by: Samuel Pitoiset <[email protected]> Reviewed-by: Dave Airlie <[email protected]> (cherry picked from commit fba0e078695847bf1e4fdc9e6a44099bf901f4cf)
* radv: Don't set a new subpass on compute resolve.Bas Nieuwenhuizen2017-08-291-8/+0
| | | | | | | | We don't use the render path so totally unneeded. Fixes: 19be95f71e6 "radv: add subpass resolve compute path" Reviewed-by: Dave Airlie <[email protected]> (cherry picked from commit bd81cb3206e5a1f1c7cf19dffa33c0ac43b13694)
* radv: Remove some intel comments from the resolve code.Bas Nieuwenhuizen2017-08-293-21/+0
| | | | | | | These are clearly not applicable to radv. Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit e5c4e107691cf5b6e96dc43a090746c0fa17152d)
* radv: don't crash if we have no framebufferDave Airlie2017-08-291-0/+4
| | | | | | | | | | | | | Recording secondaries with no framebuffer attachment may make this happen, though this might not be the complete solution. (esp if someone does meta stuff in there, would we have to save things, not sure). Fixes: f4e499ec791 ("radv: add initial non-conformant radv vulkan driver") Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 4a091b0788664f73bbb35c14d04c00cebf37e17a)
* radv: fix predication on gfx9Dave Airlie2017-08-291-1/+3
| | | | | | | | | When I added gfx9 I did it wrong, this fixes it. Fixes: 5247b311e9 "radv/gfx9: fix set predication packet." Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 12fd0f8dc1fede75142f7eb369ca5c98bd41eb74)
* mesa: fix ES only draw if we have vertex positionsTimothy Arceri2017-08-291-2/+2
| | | | | | | | | | | | | This code was separated from the validation code so it could use used with KHR_no_error paths. The return values were inverted to reflect the name of the helper, but here the condtion was mistakenly inverted rather than the return value. Fixes: 4df2931a87fe (mesa/vbo: move some Draw checks out of validation) Reported-by: Brian Paul <[email protected]> Reviewed-by: Marek Olšák <[email protected]> (cherry picked from commit a4635c84dcd119376a8daaa91ec906c8b9de17af)
* egl: Add dma_buf_import_modifiers for glvndDaniel Stone2017-08-291-0/+4
| | | | | | | | | | | Make sure we advertise the new entrypoints to libglvnd's EGL dispatch. Signed-off-by: Daniel Stone <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reported-by: Emmanuel Gil Peyrot <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101982 Fixes: 4c412293d0e ("egl: advertise EGL_EXT_image_dma_buf_import_modifiers") (cherry picked from commit 85ef0215dd3fac2d2a141018467361cff92f4bab)
* egl: Update headers from KhronosDaniel Stone2017-08-294-42/+673
| | | | | | | Taken from egl-registry 7d68647c4dab. Signed-off-by: Daniel Stone <[email protected]> (cherry picked from commit 2eee03b7a11339159f9a1f6ef90259caea899048)
* util: move string_to_uint_map to glslEmil Velikov2017-08-2915-13/+492
| | | | | | | | | | | | | | | | | | | The functionality is used by glsl and mesa. With the latter already depending on the former. With this in place the src/util/ static library libmesautil.la no longer has a C++ dependency. Thus objects which use it (like libEGL) don't need the C++ link. Cc: "17.2" <[email protected]> Fixes: 02cc35937277 ("egl/wayland: Use linux-dmabuf interface for buffers") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101851 Signed-off-by: Emil Velikov <[email protected]> Suggested-by: Jason Ekstrand <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Tested-by: Mike Lothian <[email protected]> Tested-by: James Harvey <[email protected]> (cherry picked from commit 0ac78dc92582a59d4319ebce019b4caa41fb432d)
* nir: Fix system_value_from_intrinsic for subgroupsJason Ekstrand2017-08-291-4/+4
| | | | | | | | A couple of the cases were backwards Reviewed-by: Matt Turner <[email protected]> Cc: [email protected] (cherry picked from commit 63e79a8a777b36ecb30a1f6900e6b638cb32fc5f)
* st/mesa: fix handling of vertex array double inputsIlia Mirkin2017-08-291-1/+3
| | | | | | | | | | | | | | The is_double_vertex_input needs to be set for arrays of doubles as well. Fixes KHR-GL45.enhanced_layouts.varying_array_locations Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: [email protected] (cherry picked from commit ae53bff8b13b433ca79904dfbda7264eb7188fa7)
* glsl: fix counting of vertex shader output slots used by explicit varsIlia Mirkin2017-08-291-1/+2
| | | | | | | | | | | | | The argument to count_attribute_slots should only be set to true for vertex inputs, not for all vertex shader varyings. Fixes KHR-GL45.enhanced_layouts.varying_locations Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> Cc: [email protected] (cherry picked from commit eefeff09a784eb139cbf682b98926c0eaa00eb21)
* etnaviv: use correct param for etna_compatible_rs_format(..)Christian Gmeiner2017-08-291-1/+1
| | | | | | | | | | Found by code inspection. Fixes: c9e8b49b885 ("etnaviv: gallium driver for Vivante GPUs") Cc: [email protected] Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> (cherry picked from commit 67fc3e37a7a38e279082848c064d5faacad44f54)
* egl/wayland: Use roundtrips when awaiting buffer releaseKai Chen2017-08-291-2/+7
| | | | | | | | | | | | | | | | | | | In get_back_bo, we use wl_display_dispatch_queue() to block and wait for a buffer release event. However, not all Wayland compositors flush the client socket on posting a buffer-release event, so by only blocking client-side, we may block indefinitely, or at least need to wait for an input event / frame completion to arrive for the compositor to flush. We now use dispatch_queue as a first pass, but if our entire buffer pool is exhausted, use a roundtrip (an immediately-triggered wl_callback) to ensure that the compositor flushes out our release event immediately. [daniels: Modified comment and commit message.] Signed-off-by: Kai Chen <[email protected]> Reviewed-by: Daniel Stone <[email protected]> CC: <[email protected]> (cherry picked from commit 151188d1e330a7a5f110bbc8251680121a1a84a6)
* radv/gfx9: gfx9 has buffer sizing rules like pre-VI.Dave Airlie2017-08-291-1/+1
| | | | | | | | | | This fixes: dEQP-VK.robustness.buffer_access.* on GFX9. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 19f6906c1e498499035e98929657e2faebe6c993)
* ac/nir: Cast sources of integer ops to int.Bas Nieuwenhuizen2017-08-291-0/+16
| | | | | | | | | | | | | | | The int32->float semantic conversion got dropped in a testcase, because the src was already float. On closer inspection I decided to add a few more casts for integer op operands to be safe too. Cc: 17.2 <[email protected]> Reviewed-by: Dave Airlie <[email protected]> (cherry picked from commit 43595db30274f714e2b1f6120c2f5ec4c41614fe) [Emil Velikov: squash trivial conflicts] Signed-off-by: Emil Velikov <[email protected]> Conflicts: src/amd/common/ac_nir_to_llvm.c
* nv50/ir: properly set sType for TXF ops to U32Ilia Mirkin2017-08-291-0/+3
| | | | | | | | | | | | | All of the coordinates and LOD args are integers for TXF. This mostly doesn't matter, except for converting into a levelZero=true operation by removing an explicit zero LOD. For the comparison against zero to work properly, the sType of the instruction has to be set correctly. Fixes: KHR-GL45.robust_buffer_access_behavior.texel_fetch Reported-by: Karol Herbst <[email protected]> Signed-off-by: Ilia Mirkin <[email protected]> Cc: [email protected] (cherry picked from commit 96be442b7795a6eb3d50f4061f2b98dddc39aa4d)
* radv/gfx9: don't expose linear depth on vega.Dave Airlie2017-08-291-0/+4
| | | | | | | | | This just zeros out the linear flags for gfx9 + depth formats. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 8985ad494bce5a4c365fe38fdf500d8582b5a7d0)
* radv: don't degrade tiling mode for small compressed or depth texture.Dave Airlie2017-08-291-6/+10
| | | | | | | | | | This is what radeonsi does, so we should do the same, also vega doesn't support linear depth textures anyways. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 5d26e0baf223b361c9919db213915a82d2dff5c4)
* radv/gfx9: only minify image view width/height/depth before gfx9.Dave Airlie2017-08-292-7/+15
| | | | | | | | | | | | For gfx9 the addressing for images has changed, so we need to provide the hw with the level0, however we still need to scale for format block differences (so our compressed upload paths still work). Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit bae7723e132d3177697606c799eabbb7cdde2f38)
* radv/image: don't rescale width/height if the format isn't changingDave Airlie2017-08-291-4/+6
| | | | | | | | | | If the image view has the same format, we don't need to rescale the w/h. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit a74d98743115b928eaeabc0d58b63174158aa209)
* radv: cleanup some image view descriptor setup.Dave Airlie2017-08-292-13/+21
| | | | | | | | | | | | | Avoid passing the vulkan image creation into the image view descriptor setup. This cleans up the usage of range inside the init, instead using the properly inited values in the image view. This is just a cleanup but some future vega changes will depend on it. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 5378b5d0710be00d1316e42e692a52d4bc5d92fe)
* radv/gfx9: emit sx_mrt_blend registersDave Airlie2017-08-293-3/+134
| | | | | | | | | | | | | | GFX9 needs the SX MRT blend registers programmed, port over the code from radeonsi to workout the values from the blend state, and program the registers on rbplus systems. This fixes lots of: dEQP-VK.pipeline.blend.* Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 9c080100d336e4f90575d5138508b519ed334eef)
* radv: bump space check for indexed draw.Dave Airlie2017-08-291-1/+1
| | | | | | | | | | | | For the GFX9 packet we need one more dword. Fixes an assert in: dEQP-VK.draw.shader_draw_parameters.base_vertex.draw_indexed Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 864eb1852778abaa6f63ca106216001c9f375f05)
* radv/gfx9: fixup db/stencil disable.Dave Airlie2017-08-291-3/+7
| | | | | | | | | This fixes disabled Z/stencil. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit d987b4ab9e240b479c71129c3c261982112c57d8)
* radv/gfx9: fix level count in color register setup.Dave Airlie2017-08-291-1/+1
| | | | | | | | | There was an off by one here. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit 11834195e9c276e1f3756cf8f6161be14124261b)
* radv/gfx9: use total levels in texture descriptorDave Airlie2017-08-291-1/+1
| | | | | | | | | | We need to use all the levels when filling out the gfx9 descriptor. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit df09f1f3cd5110874899ed0f4b4c33ba9b006c50)
* i965: Make a BRW_NEW_FAST_CLEAR_COLOR dirty bit.Kenneth Graunke2017-08-298-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | When changing fast clear colors, we need to emit new SURFACE_STATE with the updated color at the next draw call. Most things work today because the atoms that handle SURFACE_STATE for images (mutable images, textures, render targets) also listen to BRW_NEW_BLORP, causing us to re-emit these on every BLORP operation. However, this is overkill - most BLORP operations don't require us to re-emit SURFACE_STATE. One case where this is broken today is a fast clear to a different color followed by a non-coherent framebuffer fetch. The renderbuffer read atom doesn't listen to BRW_NEW_BLORP, and would not get the new fast clear color. Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> (cherry picked from commit 54c41af0aa92333579a72830254ac3aaa9f4aea1) [Emil Velikov: squash trivial conflicts] Signed-off-by: Emil Velikov <[email protected]> Conflicts: src/mesa/drivers/dri/i965/brw_tcs_surface_state.c
* radeonsi: emit VGT_REUSE_OFF in the right placeMarek Olšák2017-08-292-8/+9
| | | | | | | | clip_regs aren't marked dirty when writes_viewport_index is changed. Cc: 17.2 <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> (cherry picked from commit 8dadb077908ad6d875577ca08e0e04a5741ba95b)
* radeonsi/gfx9: properly handle imported textures with unexpected swizzle modeMarek Olšák2017-08-292-6/+8
| | | | | | | | | | | | Cc: 17.2 <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> (cherry picked from commit fdef2f0fd19ac6f2715a802d1e14b8ddfa094f11) [Emil Velikov: r600_surface_import_metadata is not separate function, tile_swizzle isn't in branch] Signed-off-by: Emil Velikov <[email protected]> Conflicts: src/gallium/drivers/radeon/r600_texture.c
* radeonsi/gfx9: add a temporary workaround for a tessellation driver bugMarek Olšák2017-08-291-1/+5
| | | | | | | | | | The workaround will do for now. The root cause is still unknown. This fixes new piglit: 16in-1out Cc: 17.1 17.2 <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]> (cherry picked from commit 166823bfd26ff7e9b88099598305967336525716)
* i965/clear: Quantize the depth clear value based on the formatJason Ekstrand2017-08-291-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | In f9fd976e8adba733b08d we changed the clear value to be stored as an isl_color_value. This had the side-effect same clear value check is now happening directly between the f32[0] field of the isl_color_value and ctx->Depth.Clear. This isn't what we want for two reasons. One is that the comparison happens in floating point even for Z16 and Z24 formats. Worse than that, ctx->Depth.Clear is a double so, even for 32-bit float formats, we were comparing as doubles and not floats. This means that the test basically always fails for anything other than 0.0f and 1.0f. This caused a slight performance regression in Lightsmark 2008 because it was using a depth clear value of 0.999 which can't be stored in a 32-bit float so we were doing unneeded resolves. Reviewed-by: Kenneth Graunke <[email protected]> Bugzilla: https://bugs.freedesktop.org/101678 Cc: "17.2" <[email protected]> (cherry picked from commit 0ae9ce0f29ea1973b850a4e6c6cae8606973036e) Signed-off-by: Emil Velikov <[email protected]> [Emil Velikov: squash trivial conflicts] Signed-off-by: Emil Velikov <[email protected]> Conflicts: src/mesa/drivers/dri/i965/brw_clear.c
* Android: Fix LLVM duplicated symbols linking for N and MRob Herring2017-08-294-13/+7
| | | | | | | | | | | | | | | | | | | | | | Both statically linking libLLVMCore and dynamically linking libLLVM causes duplicated symbols in gallium_dri.so and it fails to dlopen. We don't really need to link libLLVMCore, but just need generated headers to be built first. Dynamically linking to libLLVM instead is enough to do that. Thanks to Qiang Yu for finding the root cause. With this change, we can align all versions and just have libLLVM as a shared lib dependency. This also requires changes in the M and N versions of LLVM to export the include paths for libLLVM. AOSP master is okay. Fixes: 26aee6f4d5a ("Android: rework LLVM build support") Reported-by: Mauro Rossi <[email protected]> Cc: 17.2 <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Signed-off-by: Qiang Yu <[email protected]> Signed-off-by: Rob Herring <[email protected]> (cherry picked from commit 4734bfc02adad103efa1fa51e4c0f93fcaedb73c)
* radeonsi: update non-resident bindless descriptors if neededSamuel Pitoiset2017-08-291-30/+55
| | | | | | | | | | | Only resident bindless descriptors are currently updated and re-uploaded, this makes sure that the non-resident ones are also updated. Signed-off-by: Samuel Pitoiset <[email protected]> Cc: "17.2" <[email protected]> Reviewed-by: Marek Olšák <[email protected]> (cherry picked from commit 2843c5d15cf7c051d6aaf0744c3c1c7d4a734184)
* intel/blorp: Adjust intra-tile x when faking rgb with red-onlyTopi Pohjolainen2017-08-291-0/+1
| | | | | | | | | | | v2 (Jason): Adjust directly in surf_fake_rgb_with_red() Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101910 CC: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> Signed-off-by: Topi Pohjolainen <[email protected]> (cherry picked from commit 393ec1a5071263d300e91f43058ed3b594d41418)
* ac/nir: fixup layer/viewport export for GFX9.Dave Airlie2017-08-291-7/+25
| | | | | | | | | GFX9 moved where the viewport index export goes. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit b040f51b61d4d5ee671ba9d862e871ac5ac67ddf)
* mesa: only copy requested compressed teximage cubemap facesChristoph Haag2017-08-291-2/+2
| | | | | | | | | | This is analogous to commit 2259b11 which only fixed the regular case Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102308 Signed-off-by: Christoph Haag <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Cc: [email protected] (cherry picked from commit 87556a650ad363b41d86f4e25d5c4696f9af4550)
* i965/tex: Don't pass samples to miptree_create_for_teximageJason Ekstrand2017-08-291-1/+1
| | | | | | | | | | | | | | | | | | In 76e2f390f9863a35, when Topi switched num_samples from 0 to 1 for single-sampled, he accidentally switched the last parameter in the call to miptree_create_for_teximage from 0 to 1 thinking it was num_samples when it was actually layout_flags. Switching from 0 to 1 added the MIPTREE_LAYOUT_ACCELERATED_UPLOAD flag which causes us to allocate a busy BO instead of an idle one. This caused the subsequent CPU upload to consistently stall. The end result was a 15% performance drop in the SynMark v7 DrvRes microbenchmark. This restores the old behavior and fixes the performance regression. Reviewed-by: Topi Pohjolainen <[email protected]> Fixes: 76e2f390f9863a356d1419982dec705260d67eff Bugzilla: https://bugs.freedesktop.org/102260 Cc: [email protected] (cherry picked from commit f24cf82d6db290a88abfff0669d2c5e2aa463901)
* i965/miptree: Return NONE from texture_aux_usage when fully resolvedJason Ekstrand2017-08-291-1/+14
| | | | | | | | | | | | This little optimization improves the performance of SynMark v7 TexFilterTri by almost 10% on Sky Lake GT4 among other improvements. We've been doing it for some time but somehow it got dropped during the miptree refactoring. Reviewed-by: Kenneth Graunke <[email protected]> Bugzilla: https://bugs.freedesktop.org/102258 Cc: "17.2" <[email protected]> (cherry picked from commit 61d2f3f1c24323a1c067595ec78dfbfefdc72b41)