Module: wine
Branch: master
Commit: b39fa96d0c95b047e54e74aca6a27e556a0f5893
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b39fa96d0c95b047e54e74ac…
Author: Sebastián Aedo <sebastian.aedo29(a)gmail.com>
Date: Wed Jun 15 17:48:09 2022 -0400
winex11.drv: Change order register_extension for WGL_ARB_pixel_format_float.
Some processes use very naive string matching when detecting extensions,
for example, Cossacks III checks if the extension is "contained" in the
current extension is checking, causing that `WGL_ARB_pixel_format` is
contained in `WGL_ARB_pixel_format_float`, but it ends up with the flag
deactivated because they aren't the same.
This makes it consistent with the behavior on winemac.drv/opengl.c
too.
Signed-off-by: Sebastián Aedo <sebastian.aedo29(a)gmail.com>
---
dlls/winex11.drv/opengl.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index 91aef7f67be..017a8813caa 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -3180,11 +3180,6 @@ static void X11DRV_WineGL_LoadExtensions(void)
register_extension("WGL_ARB_create_context_profile");
}
- if (has_extension( glxExtensions, "GLX_ARB_fbconfig_float"))
- {
- register_extension("WGL_ARB_pixel_format_float");
- register_extension("WGL_ATI_pixel_format_float");
- }
register_extension( "WGL_ARB_extensions_string" );
opengl_funcs.ext.p_wglGetExtensionsStringARB = X11DRV_wglGetExtensionsStringARB;
@@ -3214,6 +3209,12 @@ static void X11DRV_WineGL_LoadExtensions(void)
opengl_funcs.ext.p_wglGetPixelFormatAttribfvARB = X11DRV_wglGetPixelFormatAttribfvARB;
opengl_funcs.ext.p_wglGetPixelFormatAttribivARB = X11DRV_wglGetPixelFormatAttribivARB;
+ if (has_extension( glxExtensions, "GLX_ARB_fbconfig_float"))
+ {
+ register_extension("WGL_ARB_pixel_format_float");
+ register_extension("WGL_ATI_pixel_format_float");
+ }
+
/* Support WGL_ARB_render_texture when there's support or pbuffer based emulation */
if (has_extension( glxExtensions, "GLX_ARB_render_texture") ||
(glxRequireVersion(3) && use_render_texture_emulation))
Module: tools
Branch: master
Commit: 7572e0373bdedb7d90f35113c7b028ee994e63e4
URL: https://source.winehq.org/git/tools.git/?a=commit;h=7572e0373bdedb7d90f3511…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Thu Jun 16 18:25:02 2022 +0200
testbot/web: Add failure links to full logs on the job details page.
Long logs can make it hard to find the lines for a given failure. So add
an index pointing to the first line of a given failure (identified by
its bug id).
Also add links to the first and last failure.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/web/JobDetails.pl | 38 ++++++++++++++++++++++++++++++++------
1 file changed, 32 insertions(+), 6 deletions(-)
diff --git a/testbot/web/JobDetails.pl b/testbot/web/JobDetails.pl
index efdd4d9b..6d3f13cd 100644
--- a/testbot/web/JobDetails.pl
+++ b/testbot/web/JobDetails.pl
@@ -404,9 +404,9 @@ sub GetFailureLinks($$)
} @$FailureIds);
}
-sub GenerateFullLog($$$$)
+sub GenerateFullLog($$$$$)
{
- my ($self, $Dir, $LogName, $HideLog) = @_;
+ my ($self, $Dir, $LogId, $LogName, $HideLog) = @_;
my $LogInfo = LoadLogErrors("$Dir/$LogName");
if (defined $LogInfo->{BadLog})
@@ -426,7 +426,7 @@ sub GenerateFullLog($$$$)
print "<pre class='log-note'>Some WineTest results could not be used to detect new errors: $LogInfo->{BadRef}</pre>\n";
}
- my (%ErrCategory, %ErrFailures);
+ my (%ErrCategory, %ErrFailures, %LogBugs);
foreach my $GroupName (@{$LogInfo->{ErrGroupNames}})
{
my $Group = $LogInfo->{ErrGroups}->{$GroupName};
@@ -437,8 +437,31 @@ sub GenerateFullLog($$$$)
{
$ErrCategory{$LineNo} = $Group->{IsNew}->[$ErrIndex] ? "fullnew" : "error";
$ErrFailures{$LineNo} = $Group->{Failures}->{$ErrIndex};
+
+ if ($ErrFailures{$LineNo})
+ {
+ foreach my $FailureId (@{$ErrFailures{$LineNo}})
+ {
+ my $Failure = $self->{Failures}->GetItem($FailureId);
+ $LogBugs{$Failure->BugId} ||= [$LineNo, $Failure->BugDescription];
+ }
+ }
}
+ $LogBugs{-1} ||= [$LineNo, ""];
+ $LogBugs{9999999} = [$LineNo, ""];
+ }
+ }
+ if (%LogBugs)
+ {
+ print "<p>Failures index:";
+ foreach my $Label (sort { $a <=> $b } keys %LogBugs)
+ {
+ my ($LineNo, $Title) = @{$LogBugs{$Label}};
+ $Label = $Label < 0 ? "First" : $Label == 9999999 ? "Last" : $Label;
+ $Title = " title='". $self->escapeHTML($Title) ."'" if ($Title);
+ print " <a href='#k${LogId}L$LineNo'$Title>$Label</a>"
}
+ print "</p>\n";
}
my $GetCategory = $LogName =~ /\.report$/ ? \&GetReportLineCategory :
@@ -463,7 +486,7 @@ sub GenerateFullLog($$$$)
my $Category = $ErrCategory{$LineNo} || $GetCategory->($Line);
if ($Category ne "none")
{
- $Html =~ s~^(.*\S)\s*\r?$~<span class='log-$Category'>$1</span>~;
+ $Html =~ s~^(.*\S)\s*\r?$~<span id='k${LogId}L$LineNo' class='log-$Category'>$1</span>~;
}
if ($ErrFailures{$LineNo})
{
@@ -487,7 +510,10 @@ sub GenerateFullLog($$$$)
# Extra groups don't have a line number
next if ($Group->{LineNo});
- print "<div class='LogDllName'>$GroupName</div>\n";
+ # Extra errors don't have line numbers but there should be few of them.
+ # So just create one id for them all so the shortcut to the first / last
+ # error has somewhere to go even if it's not 100% accurate.
+ print "<div id='k${LogId}L0' class='LogDllName'>$GroupName</div>\n";
for my $ErrIndex (0..$#{$Group->{Errors}})
{
if ($IsEmpty)
@@ -592,7 +618,7 @@ EOF
$Url = $self->escapeHTML($Url);
my $HideLog = $Action eq "Hide" ? " ondblclick='HideLog(event, \"$Url\")'" : "";
- my $LogIsEmpty = $self->GenerateFullLog($TaskDir, $MoreInfo->{Full}, $HideLog);
+ my $LogIsEmpty = $self->GenerateFullLog($TaskDir, $StepTask->GetKey(), $MoreInfo->{Full}, $HideLog);
if ($LogIsEmpty)
{
if ($StepTask->Status eq "canceled")