opengl: add shader build infrastructure
perl script to transform shader programs into c include files with static string constands containing the shader programs, so we can easily embed them into qemu. Also some Makefile logic for them. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
5bccbb04a4
commit
d98bc0b654
14
Makefile
14
Makefile
@ -296,6 +296,7 @@ clean:
|
|||||||
rm -f fsdev/*.pod
|
rm -f fsdev/*.pod
|
||||||
rm -rf .libs */.libs
|
rm -rf .libs */.libs
|
||||||
rm -f qemu-img-cmds.h
|
rm -f qemu-img-cmds.h
|
||||||
|
rm -f ui/shader/*-vert.h ui/shader/*-frag.h
|
||||||
@# May not be present in GENERATED_HEADERS
|
@# May not be present in GENERATED_HEADERS
|
||||||
rm -f trace/generated-tracers-dtrace.dtrace*
|
rm -f trace/generated-tracers-dtrace.dtrace*
|
||||||
rm -f trace/generated-tracers-dtrace.h*
|
rm -f trace/generated-tracers-dtrace.h*
|
||||||
@ -441,6 +442,19 @@ cscope:
|
|||||||
find "$(SRC_PATH)" -name "*.[chsS]" -print | sed 's,^\./,,' > ./cscope.files
|
find "$(SRC_PATH)" -name "*.[chsS]" -print | sed 's,^\./,,' > ./cscope.files
|
||||||
cscope -b
|
cscope -b
|
||||||
|
|
||||||
|
# opengl shader programs
|
||||||
|
ui/shader/%-vert.h: $(SRC_PATH)/ui/shader/%.vert $(SRC_PATH)/scripts/shaderinclude.pl
|
||||||
|
@mkdir -p $(dir $@)
|
||||||
|
$(call quiet-command,\
|
||||||
|
perl $(SRC_PATH)/scripts/shaderinclude.pl $< > $@,\
|
||||||
|
" VERT $@")
|
||||||
|
|
||||||
|
ui/shader/%-frag.h: $(SRC_PATH)/ui/shader/%.frag $(SRC_PATH)/scripts/shaderinclude.pl
|
||||||
|
@mkdir -p $(dir $@)
|
||||||
|
$(call quiet-command,\
|
||||||
|
perl $(SRC_PATH)/scripts/shaderinclude.pl $< > $@,\
|
||||||
|
" FRAG $@")
|
||||||
|
|
||||||
# documentation
|
# documentation
|
||||||
MAKEINFO=makeinfo
|
MAKEINFO=makeinfo
|
||||||
MAKEINFOFLAGS=--no-headers --no-split --number-sections
|
MAKEINFOFLAGS=--no-headers --no-split --number-sections
|
||||||
|
16
scripts/shaderinclude.pl
Normal file
16
scripts/shaderinclude.pl
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
my $file = shift;
|
||||||
|
open FILE, "<", $file or die "open $file: $!";
|
||||||
|
my $name = $file;
|
||||||
|
$name =~ s|.*/||;
|
||||||
|
$name =~ s/[-.]/_/g;
|
||||||
|
print "static GLchar ${name}_src[] =\n";
|
||||||
|
while (<FILE>) {
|
||||||
|
chomp;
|
||||||
|
printf " \"%s\\n\"\n", $_;
|
||||||
|
}
|
||||||
|
print " \"\\n\";\n";
|
||||||
|
close FILE;
|
Loading…
Reference in New Issue
Block a user