Age | Commit message (Collapse) | Author |
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
CIK asics have 128x128 hw cursors
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
leak happens when looping xrandr prop.
Signed-off-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
This necessarily involved adding some content, which I was able to
Google for. Please review, correct, and make more specific.
Bodiless .TP entries screw up doclifter's page parsing. Please
don't do that anymore.
|
|
Looks like this was accidentally dropped when the GNOME Build API was
implemented.
|
|
Signed-off-by: Samuel Li <samuel.li@amd.com>
|
|
The 'frame' argument passed to event handlers is the plain
CRTC vblank counter that stops progressing when the
associated display is in DPMS-off mode. If we have a
DPMS-off period the frame counter and MSC will
diverge, which can cause some higher-level functions
to return incorrect values.
This patch fixes the problem by adding interpolated
vblanks to the frame counter before using it in handler
functions.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Now that we fully emulating a running CRTC through DPMS-off state
it is possible to come up with a zero delay when scheduling
a swap or MSC-wait (e.g., if a call into respective wait function
was entered very late). This patch wraps the TimerSet function
into our own radeon_dri2_schedule_event such that the latter
calls the event right away if zero delay is specified.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Now that the running CRTC is emulated through DPMS-off
states, wait_msc and get_msc must also work on disabled
CRTCs. When CRTC is disabled, we must extrapolate the
MSC count from present time and last MSC when CRTC was
running and also use timers facility in wait_msc.
v2: CRTC-private now stores frame rate instead of nominal
vblank period.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
radeon_dri2_deferred_swap will be used to generate
real events (not just fallbacks) so now it needs to
generate real timestamp and frame counter. Also
this function will be used both by schedule_swap
and wait_msc, so give it a more generic name:
radeon_dri2_deferred_event
v2: - Extrapolate the frame number from the time
of actual execution of the function instead
of using the MSC calculated (extrapolated)
at event scheduling time.
- CRTC-private now stores frame rate instead of
nominal vblank period.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Tracking the CRTC associated with an event will save us
some lookups later in event handlers.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
This patch hooks up swap-scheduling function with
vblank-extrapolation function. Rather than waiting for
fixed time, we calculate exactly how much we should wait
and what we should update target_msc to using
radeon_dri2_extrapolate_msc_delay helper function
and schedule the swap completion using DIX's timer facility.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Implement a helper function that will be called when emulating
the running CRTC. The function should be called only when CRTC
is in DPMS-off state. It will look at the vblank count and the
time that was recorded last time the CRTC was running and
calculate how long one must wait (from present time) until
the target_msc is reached if the CRTC were running.
v2: - CRTC-private now stores frame rate instead of nominal
vblank period.
- DIX's timer facility can sometimes wake up the scheduled
functions more than a millisecond earlier. To avoid
generating an old MSC, we have to add more margin when
converting the delay in microseconds to milliseconds.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Normally, MSC value equals the vblank count of the CRTC
on which the drawable resides. However, we are now interpolating
vblanks through DPMS-off state, so if the CRTC is turned
off at some point, the vlbank count does not change, but
MSC does change by the amount that equals the cumulative
number of interpolated vblanks.
So each time we interact with the CRTC's vblank facility,
we have to adjust the vblank counter: in the request, we
have to subtract the number of interpolated vblanks from
MSC and in the reply we have to add the number of interpolated
vblanks to the MSC.
This patch only makes the MSC correct when CRTC is on.
The subsequent patch will construct the MSC when CRTC is not
running.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
This adds provisions for interpolating vblanks while the CRTC
is in DPMS-off state. When entering DPMS-off state, we
record the last vblank time, sequence number and frame rate
in CRTC-private structure.
When going back to DPMS-on state we read the current
time and calculate how long we have been off. Then we derive
how many vblanks that would have been had the CRTC remained
running. These are the interpolated vblanks.
Finally, we accumulate the number of interpolated vblanks
in CRTC-private structure to get the number of interpolated
vblanks over the system lifetime.
v2: Track frame rate instead of vblank period. The former
eliminates some roundoff errors.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
We are about to modify this function, so let's clean it
up first.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
The new helper function retrieves current time in the format
that is compatible with vblank timestamps.
v2: - fix an incorrect statement in a comment
- add a #define so that don't depend on libdrm patches that
have not yet been accepted upstream
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
We'll need to use this function in other .c files so
remove static annotation from it. Also, add radeon_
prefix because this function is now part of global namespace,
so it would be nice to know where it is coming from.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
This function no longer uses info argument, so nuke it.
Signed-off-by: Ilija Hadzic <ihadzic@research.bell-labs.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
|
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Those didn't define CREATE_PIXMAP_USAGE_SHARED.
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
It can't handle lower depths yet.
Reported-by: Igor Vagulin <igor.vagulin@gmail.com>
|
|
We should now handle its major initialization failure cases gracefully.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
|
|
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=57200
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Tested-by: Christoph Haag <haagch.christoph@googlemail.com>
Tested-by: linedot <linedot@xcpp.org>
|
|
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
Oops, just after previous commit I realized that it
needs to be done from RADEONFreeRec, because when preinit fails
info pointer can be null in FreeScreen.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
Oops, turns out my previous commits were buggy.
Adding proper refcounts will handle this correctly.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
Prevents a use-after-free.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
This prevents a small fd leak.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
Trying to initialize glamor in that case crashes.
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Was missing on trinity.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Will hopefully make it more obvious when it wasn't.
|
|
http://people.gnome.org/~walters/docs/build-api.txt
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
And fixup distcheck..
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
|
Values are inclusive. Mesa already sets these
correctly. Also bump EXA/Xv limits from 2047 to
2048.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
|
|
Otherwise rotation won't work when glamor support isn't built in.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Fixes rotation with glamor.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Fixes piglit sanity.tests (with 3D drivers which allocate depth buffers from
the X server).
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|
|
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
|