summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Horn <doughorn@google.com>2021-11-05 08:56:11 -0700
committerKaiyi Li <kaiyili@google.com>2021-12-10 14:22:24 -0800
commit66fd2e4ea1653088bae55b81f7b1eecb640786d8 (patch)
tree1650e0fad96c08aa044232123f8077048e130f5d
parente5da7df2e6f1669f087f83912e040fb9202dd78d (diff)
downloadgfxstream-protocols-66fd2e4ea1653088bae55b81f7b1eecb640786d8.tar.gz
Use GFXSTREAM_ABORT in generated code.
Bug: 205039388 Test: Compile, run emulator w/ vulkan. Change-Id: I1f9b5731dcdebbadeaf669434e8fc4bc412251f7
-rw-r--r--registry/vulkan/xml/cereal/decoder.py2
-rw-r--r--registry/vulkan/xml/cereal/subdecode.py4
-rw-r--r--registry/vulkan/xml/cerealgenerator.py1
3 files changed, 3 insertions, 4 deletions
diff --git a/registry/vulkan/xml/cereal/decoder.py b/registry/vulkan/xml/cereal/decoder.py
index ba514ee0..21c92ecf 100644
--- a/registry/vulkan/xml/cereal/decoder.py
+++ b/registry/vulkan/xml/cereal/decoder.py
@@ -524,7 +524,7 @@ def decode_vkFlushMappedMemoryRanges(typeInfo, api, cgen):
cgen.stmt("uint64_t readStream = 0")
cgen.stmt("memcpy(&readStream, *readStreamPtrPtr, sizeof(uint64_t)); *readStreamPtrPtr += sizeof(uint64_t)")
cgen.stmt("auto hostPtr = m_state->getMappedHostPointer(memory)")
- cgen.stmt("if (!hostPtr && readStream > 0) abort()")
+ cgen.stmt("if (!hostPtr && readStream > 0) GFXSTREAM_ABORT(FatalError(ABORT_REASON_OTHER))")
cgen.stmt("if (!hostPtr) continue")
cgen.stmt("uint8_t* targetRange = hostPtr + offset")
cgen.stmt("memcpy(targetRange, *readStreamPtrPtr, readStream); *readStreamPtrPtr += readStream")
diff --git a/registry/vulkan/xml/cereal/subdecode.py b/registry/vulkan/xml/cereal/subdecode.py
index 3efb24a3..eae02540 100644
--- a/registry/vulkan/xml/cereal/subdecode.py
+++ b/registry/vulkan/xml/cereal/subdecode.py
@@ -370,9 +370,7 @@ class VulkanSubDecoder(VulkanWrapperGenerator):
self.cgen.line("default:")
self.cgen.beginBlock()
self.cgen.stmt(
- "fprintf(stderr, \"Fatal, unrecognized opcode %u\\n\", opcode)")
- self.cgen.stmt("abort()")
- self.cgen.stmt("return ptr - (unsigned char *)buf")
+ "GFXSTREAM_ABORT(FatalError(ABORT_REASON_OTHER)) << \"Unrecognized opcode \" << opcode")
self.cgen.endBlock()
self.cgen.endBlock() # switch stmt
diff --git a/registry/vulkan/xml/cerealgenerator.py b/registry/vulkan/xml/cerealgenerator.py
index 555e0ec1..3fe37b5d 100644
--- a/registry/vulkan/xml/cerealgenerator.py
+++ b/registry/vulkan/xml/cerealgenerator.py
@@ -372,6 +372,7 @@ class BumpPool;
#include "android/base/BumpPool.h"
#include "android/base/system/System.h"
#include "android/base/Tracing.h"
+#include "android/utils/GfxstreamFatalError.h"
#include "IOStream.h"
#include "emugl/common/feature_control.h"