#include "util/u_math.h"
#include "util/u_half.h"
#include "util/u_dynarray.h"
+#include "util/u_pack_color.h"
#include "adreno_common.xml.h"
#include "adreno_pm4.xml.h"
#define FD_DBG_MSGS 0x0001
#define FD_DBG_DISASM 0x0002
#define FD_DBG_DCLEAR 0x0004
-#define FD_DBG_DGMEM 0x0008
-#define FD_DBG_DSCIS 0x0010
+#define FD_DBG_FLUSH 0x0008
+#define FD_DBG_NOSCIS 0x0010
#define FD_DBG_DIRECT 0x0020
-#define FD_DBG_DBYPASS 0x0040
+#define FD_DBG_NOBYPASS 0x0040
#define FD_DBG_FRAGHALF 0x0080
#define FD_DBG_NOBIN 0x0100
#define FD_DBG_NOOPT 0x0200
#define FD_DBG_OPTMSGS 0x0400
#define FD_DBG_OPTDUMP 0x0800
#define FD_DBG_GLSL130 0x1000
+#define FD_DBG_NOCP 0x2000
extern int fd_mesa_debug;
extern bool fd_binning_enabled;
OUT_IB(struct fd_ringbuffer *ring, struct fd_ringmarker *start,
struct fd_ringmarker *end)
{
+ uint32_t dwords = fd_ringmarker_dwords(start, end);
+
+ assert(dwords > 0);
+
/* for debug after a lock up, write a unique counter value
* to scratch6 for each IB, to make it easier to match up
* register dumps to cmdstream. The combination of IB and
OUT_PKT3(ring, CP_INDIRECT_BUFFER_PFD, 2);
fd_ringbuffer_emit_reloc_ring(ring, start, end);
- OUT_RING(ring, fd_ringmarker_dwords(start, end));
+ OUT_RING(ring, dwords);
emit_marker(ring, 6);
}
{
char *str = getenv(envvar);
if (str)
- return strtol(str, NULL, 0);
+ return strtoul(str, NULL, 0);
return 0;
}
+static inline uint32_t
+pack_rgba(enum pipe_format format, const float *rgba)
+{
+ union util_color uc;
+ util_pack_color(rgba, format, &uc);
+ return uc.ui[0];
+}
+
#endif /* FREEDRENO_UTIL_H_ */