mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
glx: vndcmds: revert 22a51912d1 "glx: vndcmds: save unecessary calls to clear current context for same vendor"
Looks like the answer to the commented question:
```
// TODO: For switching contexts in a single vendor, just make one
// makeCurrent call?
```
is no.
Fixes: https://github.com/X11Libre/xserver/issues/1246
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
This commit is contained in:
committed by
Enrico Weigelt
parent
feb50d2293
commit
9c53dd0a87
@@ -226,6 +226,9 @@ static int CommonMakeCurrent(ClientPtr client,
|
||||
// The old and new values are all the same, so send a successful reply.
|
||||
reply.contextTag = oldTag->tag;
|
||||
} else {
|
||||
// TODO: For switching contexts in a single vendor, just make one
|
||||
// makeCurrent call?
|
||||
|
||||
// TODO: When changing vendors, would it be better to do the
|
||||
// MakeCurrent(new) first, then the LoseCurrent(old)?
|
||||
// If the MakeCurrent(new) fails, then the old context will still be current.
|
||||
@@ -234,7 +237,7 @@ static int CommonMakeCurrent(ClientPtr client,
|
||||
// But, if the recovery LoseCurrent(old) fails, then we're really in a bad state.
|
||||
|
||||
// Clear the old context first.
|
||||
if (oldTag != NULL && oldTag->vendor != newVendor) {
|
||||
if (oldTag != NULL) {
|
||||
int ret = CommonLoseCurrent(client, oldTag);
|
||||
if (ret != Success) {
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user