7686729069
Extract protocol-agnostic FenceTimeline from Intel to shared src/drivers/fence.rs — atomic-based fence tracking suitable for Intel, VIRGL, and AMD drivers. Extract protocol-agnostic SyncobjManager from Intel to shared src/drivers/syncobj.rs — syncobj create/destroy/signal/reset/ wait/query and sync_file fd export/import. Wire both into VirtioDriver: - Add FenceTimeline + SyncobjManager fields - Implement all 5 GpuDriver syncobj trait methods (create, destroy, wait, export_fd, import_fd) - Track fence seqnos in virgl_submit_3d (allocate before submit, signal after completion) Intel fence.rs and syncobj.rs converted to thin re-export modules pointing at shared sources — no behavioral change for Intel driver. This gives Mesa VIRGL userspace the standard DRM syncobj API for GPU/compositor synchronization.
38 lines
939 B
C
38 lines
939 B
C
/* Test re_compile_pattern error messages. */
|
|
|
|
#include <config.h>
|
|
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <regex.h>
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
struct re_pattern_buffer re;
|
|
const char *s;
|
|
int ret = 0;
|
|
|
|
re_set_syntax (RE_SYNTAX_POSIX_EGREP);
|
|
memset (&re, 0, sizeof (re));
|
|
s = re_compile_pattern ("[[.invalid_collating_symbol.]]", 30, &re);
|
|
if (s == NULL || strcmp (s, "Invalid collation character"))
|
|
{
|
|
printf ("re_compile_pattern returned %s\n", s);
|
|
ret = 1;
|
|
}
|
|
s = re_compile_pattern ("[[=invalid_equivalence_class=]]", 31, &re);
|
|
if (s == NULL || strcmp (s, "Invalid collation character"))
|
|
{
|
|
printf ("re_compile_pattern returned %s\n", s);
|
|
ret = 1;
|
|
}
|
|
s = re_compile_pattern ("[[:invalid_character_class:]]", 29, &re);
|
|
if (s == NULL || strcmp (s, "Invalid character class name"))
|
|
{
|
|
printf ("re_compile_pattern returned %s\n", s);
|
|
ret = 1;
|
|
}
|
|
return ret;
|
|
}
|