Mesa (master): radeonsi: fix range checking for state regs
Christian König
deathsimple at kemper.freedesktop.org
Mon Oct 1 08:30:00 UTC 2012
Module: Mesa
Branch: master
Commit: 918e302a19d960b331c7dddf17b31a3ad3f4a627
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=918e302a19d960b331c7dddf17b31a3ad3f4a627
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Fri Sep 28 12:09:16 2012 -0400
radeonsi: fix range checking for state regs
end value is exclusive, but in practice we shouldn't
hit this.
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Christian König <deathsimple at vodafone.de>
---
src/gallium/drivers/radeonsi/radeonsi_pm4.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pm4.c b/src/gallium/drivers/radeonsi/radeonsi_pm4.c
index ea0a1bd..79a2521 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_pm4.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_pm4.c
@@ -57,17 +57,18 @@ void si_pm4_set_reg(struct si_pm4_state *state, unsigned reg, uint32_t val)
{
unsigned opcode;
- if (reg >= SI_CONFIG_REG_OFFSET && reg <= SI_CONFIG_REG_END) {
+ if (reg >= SI_CONFIG_REG_OFFSET && reg < SI_CONFIG_REG_END) {
opcode = PKT3_SET_CONFIG_REG;
reg -= SI_CONFIG_REG_OFFSET;
- } else if (reg >= SI_SH_REG_OFFSET && reg <= SI_SH_REG_END) {
+ } else if (reg >= SI_SH_REG_OFFSET && reg < SI_SH_REG_END) {
opcode = PKT3_SET_SH_REG;
reg -= SI_SH_REG_OFFSET;
- } else if (reg >= SI_CONTEXT_REG_OFFSET && reg <= SI_CONTEXT_REG_END) {
+ } else if (reg >= SI_CONTEXT_REG_OFFSET && reg < SI_CONTEXT_REG_END) {
opcode = PKT3_SET_CONTEXT_REG;
reg -= SI_CONTEXT_REG_OFFSET;
+
} else {
R600_ERR("Invalid register offset %08x!\n", reg);
return;
More information about the mesa-commit
mailing list