* Unfortunately at least one deprecated function
QDesktopWidget::screenGeometry(const QPoint &p) has no easy alternative that
works on 5.9 which is the version we have available by default on windows.
This allows finer control of the initialization/reset behaviour of
resources based on their ref type.
Currently, these policies only apply to the initialization/reseting of
VkDeviceMemory and VkImage resources.
Change-Id: Ib647cbaf99b650e8da40d07944400ace7dde504d
`WriteBeforeRead` is used to signify that a resource is partially
written, and then later read. For the purpose of correct replay,
`WriteBeforeRead` can be treated as `Read`--the resource needs to be
initialized once (so that the non-overwritten data is correct), but does
not need to be reset for later replays (since performing the same write
again will not change the data).
However, it is useful to track this state separately from `Read`,
because the user may inspect the resource at a point in time before the
write, and it might be confusing to see the result of the future write
(which would be visible if `WriteBeforeRead` was treated as `Read`).
Change-Id: I7df58bacb4444f7e8d7e26a5532a55b0ff8f128d
Previously, the ref type of the a VkDeviceMemory or VkImage resource
was calculated as the max of the ref types of the subresources. This
reliance on the ordering of the `FrameRefType` enum values is fragile--
in particular, this makes it more difficult to add new `FrameRefType`
alternatives.
Now, the ref type of composite resources are calculated using
`ComposeFrameRefsDisjoint` instead of `max`.
Change-Id: Id5db68b6756555cdc6b068d28f1b72cb827f3d1e
* GLES doesn't support ARB_occlusion_query2 at all, and ARB_timer_query (or
equivalent) may not be available for durations.
* Check for ARB_query_buffer_object before pushing or popping query buffer
binding.
* Technically if you create a context with *CreateContextAttribsARB and don't
specify a profile mask at all, the spec says the value of the profile bit is
CORE_PROFILE_BIT. In practice this means drivers may or may not give you a
core or compatibility profile.
* However what we're really looking for here is the chance that the user code
will use only modern GL or will use deprecated functionality, and in that case
the high likelihood is if they omit the PROFILE_BIT entirely they are probably
unaware of it, rather than letting it set its default value.
* If a buffer has been marked as dirty mid-frame but wasn't dirty at the start
of the frame then it won't have initial contents. We have to treat it as if it
wasn't dirty and fall back to using our existing data for it, assuming that is
a valid way to pre-populate the map's shadow buffer.
* It's theoretically possible to have a bash shell without awk or sed available
(though very strange), so we can use cmake string processing & configure_file
to get the same effect.