Skip to content

Wait idle fix#2

Open
AlejandroCosin wants to merge 11 commits intogary-sweet:masterfrom
AlejandroCosin:wait_idle_fix
Open

Wait idle fix#2
AlejandroCosin wants to merge 11 commits intogary-sweet:masterfrom
AlejandroCosin:wait_idle_fix

Conversation

@AlejandroCosin
Copy link

Description

Added a fix for a crash in the Wait Idle sample: render_context is reset in WaitIdle::prepare and then used some lines below in the call to stats->request_stats, tested in Windows and Android.

Fixes (no issue submitted)

General Checklist:

Please ensure the following points are checked:

  • [v] My code follows the coding style
  • [v] I have reviewed file licenses
  • [v] I have commented any added functions (in line with Doxygen)
  • [v] I have commented any code that could be hard to understand
  • [v] My changes do not add any new compiler warnings
  • [v] My changes do not add any new validation layer errors or warnings
  • [v] I have used existing framework/helper functions where possible
  • [v] My changes build and run on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions

Sample Checklist

If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:

  • [v] I have tested the sample on at least one compliant Vulkan implementation
  • [v] If the sample is vendor-specific, I have tagged it appropriately
  • [v] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
  • [v] Any dependent assets have been merged and published in downstream modules

gary-sweet and others added 11 commits May 5, 2020 15:37
Previously, the 'stats' interface just used HWCPipe to
interrogate performance counters from the device. HWCPipe
is not widely supported, so this really only worked for
Arm devices.

This change allows multiple 'StatsProviders' to be used.
Each provider can supply all, some, or none of the requested
counters depending on its capabilities. Any counters not
supplied by one provider will be requested of the next in
the list until one is found, or we run out of providers.
So, CPU counters can come from HWCPipe for example, whilst
GPU counters come from Vulkan's extension which has been
added as another provider.

The StatsProvider defines an abstract interface that is
implemented by the concrete providers. The parameters used
for graphing the statistics have moved from the GUI classes
into the StatsProvider also. This allows providers to modify
the names, units and scaling of counters where these differ
from the default values.
Simplifies code in device
Based on private feedback from Zandro, I've moved the
construction of the stats object into the base
VulkanSamples class which leaves individual samples
to just request the samples they would like.

The active_frame_index is no longer passed to
update_stats() or the command_buffer_begun/ended()
methods. It is fetched internally by the providers
that require it.
size_t -> uint32_t
…d then used some lines below in the call to stats->request_stats
@gary-sweet
Copy link
Owner

I actually think the WaitIdle sample is wrong, It should be overriding prepare_render_context() and then this wouldn't be required. I'll take a look.

gary-sweet pushed a commit that referenced this pull request May 3, 2023
* logic_op_dynamic_state sample (#1)

* Fix readme comment (#2)

* Fix validation layers errors (KhronosGroup#3)

* Fixes after review (KhronosGroup#4)
gary-sweet pushed a commit that referenced this pull request Jul 17, 2023
* Implement patch control points sample (#2)


Co-authored-by: Karina Murawko-Wiśniewska <karina.murawko-wisniewska@mobica.com>

* Code format fix in patch_control_points.h

According to Clang format checker updated code format

* Added colors depending on the level of tesselation and rotated objects (KhronosGroup#3)

* Updating the sample as commented in the review

Image of sample updated
Camera position updated
Tessellation enabled after running sample
Updated dynamically_tessellation and statically_tessellation names
Asset updated

* Code format fix

According to Clang format checker updated code format

* Updating the sample according to Andreas suggestions

Readme update
gui_settings.tess name update
ubo_tess.tessellation name update
shaders update

* Updating the sample according to Andreas suggestions

Updated typos
Corrected errors with types

---------

Co-authored-by: Karina Murawko-Wiśniewska <karina.murawko-wisniewska@mobica.com>
Co-authored-by: Patryk-Jastrzebski-Mobica <127733949+Patryk-Jastrzebski-Mobica@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants