Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Rafael Antognolli
mesa
Commits
5341349d
Commit
5341349d
authored
Jul 17, 2015
by
Emma Anholt
Browse files
vc4: Add debugging on texture relocation validation failures.
parent
be7adc2e
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/gallium/drivers/vc4/kernel/vc4_validate.c
View file @
5341349d
...
...
@@ -619,11 +619,11 @@ reloc_tex(struct vc4_exec_info *exec,
uint32_t
remaining_size
=
tex
->
base
.
size
-
p0
;
if
(
p0
>
tex
->
base
.
size
-
4
)
{
DRM_ERROR
(
"UBO offset greater than UBO size
\n
"
);
return
false
;
goto
fail
;
}
if
(
p1
>
remaining_size
-
4
)
{
DRM_ERROR
(
"UBO clamp would allow reads outside of UBO
\n
"
);
return
false
;
goto
fail
;
}
*
validated_p0
=
tex
->
paddr
+
p0
;
return
true
;
...
...
@@ -642,14 +642,14 @@ reloc_tex(struct vc4_exec_info *exec,
VC4_TEX_P2_PTYPE_CUBE_MAP_STRIDE
)
{
if
(
cube_map_stride
)
{
DRM_ERROR
(
"Cube map stride set twice
\n
"
);
return
false
;
goto
fail
;
}
cube_map_stride
=
p3
&
VC4_TEX_P2_CMST_MASK
;
}
if
(
!
cube_map_stride
)
{
DRM_ERROR
(
"Cube map stride not set
\n
"
);
return
false
;
goto
fail
;
}
}
...
...
@@ -683,7 +683,7 @@ reloc_tex(struct vc4_exec_info *exec,
case
VC4_TEXTURE_TYPE_YUV422R
:
default:
DRM_ERROR
(
"Texture format %d unsupported
\n
"
,
type
);
return
false
;
goto
fail
;
}
utile_w
=
utile_width
(
cpp
);
utile_h
=
utile_height
(
cpp
);
...
...
@@ -699,7 +699,7 @@ reloc_tex(struct vc4_exec_info *exec,
if
(
!
vc4_check_tex_size
(
exec
,
tex
,
offset
+
cube_map_stride
*
5
,
tiling_format
,
width
,
height
,
cpp
))
{
return
false
;
goto
fail
;
}
/* The mipmap levels are stored before the base of the texture. Make
...
...
@@ -740,7 +740,7 @@ reloc_tex(struct vc4_exec_info *exec,
i
,
level_width
,
level_height
,
aligned_width
,
aligned_height
,
level_size
,
offset
);
return
false
;
goto
fail
;
}
offset
-=
level_size
;
...
...
@@ -749,6 +749,12 @@ reloc_tex(struct vc4_exec_info *exec,
*
validated_p0
=
tex
->
paddr
+
p0
;
return
true
;
fail:
DRM_INFO
(
"Texture p0 at %d: 0x%08x
\n
"
,
sample
->
p_offset
[
0
],
p0
);
DRM_INFO
(
"Texture p1 at %d: 0x%08x
\n
"
,
sample
->
p_offset
[
1
],
p1
);
DRM_INFO
(
"Texture p2 at %d: 0x%08x
\n
"
,
sample
->
p_offset
[
2
],
p2
);
DRM_INFO
(
"Texture p3 at %d: 0x%08x
\n
"
,
sample
->
p_offset
[
3
],
p3
);
return
false
;
}
static
int
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment