trunk/src/osd/windows/d3dhlsl.c
| r20085 | r20086 | |
| 777 | 777 | // hlsl_info::create_resources |
| 778 | 778 | //============================================================ |
| 779 | 779 | |
| 780 | | int hlsl_info::create_resources() |
| 780 | int hlsl_info::create_resources(bool reset) |
| 781 | 781 | { |
| 782 | 782 | if (!master_enable || !d3dintf->post_fx_available) |
| 783 | 783 | return 0; |
| r20085 | r20086 | |
| 802 | 802 | |
| 803 | 803 | windows_options &winoptions = downcast<windows_options &>(window->machine().options()); |
| 804 | 804 | |
| 805 | | options = (hlsl_options*)global_alloc_clear(hlsl_options); |
| 805 | if (!reset) |
| 806 | { |
| 807 | options = (hlsl_options*)global_alloc_clear(hlsl_options); |
| 806 | 808 | |
| 807 | | options->params_dirty = true; |
| 808 | | strcpy(options->shadow_mask_texture, downcast<windows_options &>(window->machine().options()).screen_shadow_mask_texture()); // unsafe |
| 809 | options->params_dirty = true; |
| 810 | strcpy(options->shadow_mask_texture, downcast<windows_options &>(window->machine().options()).screen_shadow_mask_texture()); // unsafe |
| 809 | 811 | |
| 810 | | write_ini = downcast<windows_options &>(window->machine().options()).hlsl_write_ini(); |
| 811 | | read_ini = downcast<windows_options &>(window->machine().options()).hlsl_read_ini(); |
| 812 | write_ini = downcast<windows_options &>(window->machine().options()).hlsl_write_ini(); |
| 813 | read_ini = downcast<windows_options &>(window->machine().options()).hlsl_read_ini(); |
| 812 | 814 | |
| 813 | | if(read_ini) |
| 814 | | { |
| 815 | | emu_file ini_file(downcast<windows_options &>(window->machine().options()).screen_post_fx_dir(), OPEN_FLAG_READ | OPEN_FLAG_CREATE_PATHS); |
| 816 | | file_error filerr = open_next((d3d_info*)window->drawdata, ini_file, downcast<windows_options &>(window->machine().options()).hlsl_ini_name(), "ini", 0); |
| 815 | if(read_ini) |
| 816 | { |
| 817 | emu_file ini_file(downcast<windows_options &>(window->machine().options()).screen_post_fx_dir(), OPEN_FLAG_READ | OPEN_FLAG_CREATE_PATHS); |
| 818 | file_error filerr = open_next((d3d_info*)window->drawdata, ini_file, downcast<windows_options &>(window->machine().options()).hlsl_ini_name(), "ini", 0); |
| 817 | 819 | |
| 818 | | read_ini = false; |
| 819 | | if (filerr == FILERR_NONE) |
| 820 | | { |
| 821 | | ini_file.seek(0, SEEK_END); |
| 822 | | if (ini_file.tell() >= 1000) |
| 820 | read_ini = false; |
| 821 | if (filerr == FILERR_NONE) |
| 823 | 822 | { |
| 824 | | read_ini = true; |
| 825 | | ini_file.seek(0, SEEK_SET); |
| 823 | ini_file.seek(0, SEEK_END); |
| 824 | if (ini_file.tell() >= 1000) |
| 825 | { |
| 826 | read_ini = true; |
| 827 | ini_file.seek(0, SEEK_SET); |
| 826 | 828 | |
| 827 | | int en = 0; |
| 828 | | char buf[1024]; |
| 829 | | ini_file.gets(buf, 1024); |
| 830 | | sscanf(buf, "hlsl_enable %d\n", &en); |
| 831 | | master_enable = en == 1; |
| 829 | int en = 0; |
| 830 | char buf[1024]; |
| 831 | ini_file.gets(buf, 1024); |
| 832 | sscanf(buf, "hlsl_enable %d\n", &en); |
| 833 | master_enable = en == 1; |
| 832 | 834 | |
| 833 | | ini_file.gets(buf, 1024); |
| 834 | | sscanf(buf, "hlsl_prescale_x %d\n", &prescale_force_x); |
| 835 | ini_file.gets(buf, 1024); |
| 836 | sscanf(buf, "hlsl_prescale_x %d\n", &prescale_force_x); |
| 835 | 837 | |
| 836 | | ini_file.gets(buf, 1024); |
| 837 | | sscanf(buf, "hlsl_prescale_y %d\n", &prescale_force_y); |
| 838 | ini_file.gets(buf, 1024); |
| 839 | sscanf(buf, "hlsl_prescale_y %d\n", &prescale_force_y); |
| 838 | 840 | |
| 839 | | ini_file.gets(buf, 1024); |
| 840 | | sscanf(buf, "hlsl_preset %d\n", &preset); |
| 841 | ini_file.gets(buf, 1024); |
| 842 | sscanf(buf, "hlsl_preset %d\n", &preset); |
| 841 | 843 | |
| 842 | | ini_file.gets(buf, 1024); |
| 843 | | sscanf(buf, "hlsl_snap_width %d\n", &snap_width); |
| 844 | ini_file.gets(buf, 1024); |
| 845 | sscanf(buf, "hlsl_snap_width %d\n", &snap_width); |
| 844 | 846 | |
| 845 | | ini_file.gets(buf, 1024); |
| 846 | | sscanf(buf, "hlsl_snap_height %d\n", &snap_height); |
| 847 | ini_file.gets(buf, 1024); |
| 848 | sscanf(buf, "hlsl_snap_height %d\n", &snap_height); |
| 847 | 849 | |
| 848 | | ini_file.gets(buf, 1024); |
| 849 | | sscanf(buf, "shadow_mask_alpha %f\n", &options->shadow_mask_alpha); |
| 850 | ini_file.gets(buf, 1024); |
| 851 | sscanf(buf, "shadow_mask_alpha %f\n", &options->shadow_mask_alpha); |
| 850 | 852 | |
| 851 | | ini_file.gets(buf, 1024); |
| 852 | | sscanf(buf, "shadow_mask_texture %s\n", options->shadow_mask_texture); |
| 853 | ini_file.gets(buf, 1024); |
| 854 | sscanf(buf, "shadow_mask_texture %s\n", options->shadow_mask_texture); |
| 853 | 855 | |
| 854 | | ini_file.gets(buf, 1024); |
| 855 | | sscanf(buf, "shadow_mask_x_count %d\n", &options->shadow_mask_count_x); |
| 856 | ini_file.gets(buf, 1024); |
| 857 | sscanf(buf, "shadow_mask_x_count %d\n", &options->shadow_mask_count_x); |
| 856 | 858 | |
| 857 | | ini_file.gets(buf, 1024); |
| 858 | | sscanf(buf, "shadow_mask_y_count %d\n", &options->shadow_mask_count_y); |
| 859 | ini_file.gets(buf, 1024); |
| 860 | sscanf(buf, "shadow_mask_y_count %d\n", &options->shadow_mask_count_y); |
| 859 | 861 | |
| 860 | | ini_file.gets(buf, 1024); |
| 861 | | sscanf(buf, "shadow_mask_usize %f\n", &options->shadow_mask_u_size); |
| 862 | ini_file.gets(buf, 1024); |
| 863 | sscanf(buf, "shadow_mask_usize %f\n", &options->shadow_mask_u_size); |
| 862 | 864 | |
| 863 | | ini_file.gets(buf, 1024); |
| 864 | | sscanf(buf, "shadow_mask_vsize %f\n", &options->shadow_mask_v_size); |
| 865 | ini_file.gets(buf, 1024); |
| 866 | sscanf(buf, "shadow_mask_vsize %f\n", &options->shadow_mask_v_size); |
| 865 | 867 | |
| 866 | | ini_file.gets(buf, 1024); |
| 867 | | sscanf(buf, "curvature %f\n", &options->curvature); |
| 868 | ini_file.gets(buf, 1024); |
| 869 | sscanf(buf, "curvature %f\n", &options->curvature); |
| 868 | 870 | |
| 869 | | ini_file.gets(buf, 1024); |
| 870 | | sscanf(buf, "pincushion %f\n", &options->pincushion); |
| 871 | ini_file.gets(buf, 1024); |
| 872 | sscanf(buf, "pincushion %f\n", &options->pincushion); |
| 871 | 873 | |
| 872 | | ini_file.gets(buf, 1024); |
| 873 | | sscanf(buf, "scanline_alpha %f\n", &options->scanline_alpha); |
| 874 | ini_file.gets(buf, 1024); |
| 875 | sscanf(buf, "scanline_alpha %f\n", &options->scanline_alpha); |
| 874 | 876 | |
| 875 | | ini_file.gets(buf, 1024); |
| 876 | | sscanf(buf, "scanline_size %f\n", &options->scanline_scale); |
| 877 | ini_file.gets(buf, 1024); |
| 878 | sscanf(buf, "scanline_size %f\n", &options->scanline_scale); |
| 877 | 879 | |
| 878 | | ini_file.gets(buf, 1024); |
| 879 | | sscanf(buf, "scanline_height %f\n", &options->scanline_height); |
| 880 | ini_file.gets(buf, 1024); |
| 881 | sscanf(buf, "scanline_height %f\n", &options->scanline_height); |
| 880 | 882 | |
| 881 | | ini_file.gets(buf, 1024); |
| 882 | | sscanf(buf, "scanline_bright_scale %f\n", &options->scanline_bright_scale); |
| 883 | ini_file.gets(buf, 1024); |
| 884 | sscanf(buf, "scanline_bright_scale %f\n", &options->scanline_bright_scale); |
| 883 | 885 | |
| 884 | | ini_file.gets(buf, 1024); |
| 885 | | sscanf(buf, "scanline_bright_offset %f\n", &options->scanline_bright_offset); |
| 886 | ini_file.gets(buf, 1024); |
| 887 | sscanf(buf, "scanline_bright_offset %f\n", &options->scanline_bright_offset); |
| 886 | 888 | |
| 887 | | ini_file.gets(buf, 1024); |
| 888 | | sscanf(buf, "scanline_jitter %f\n", &options->scanline_offset); |
| 889 | ini_file.gets(buf, 1024); |
| 890 | sscanf(buf, "scanline_jitter %f\n", &options->scanline_offset); |
| 889 | 891 | |
| 890 | | ini_file.gets(buf, 1024); |
| 891 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 892 | | sscanf(buf, "defocus %f %f\n", &options->defocus[0], &options->defocus[1]); |
| 892 | ini_file.gets(buf, 1024); |
| 893 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 894 | sscanf(buf, "defocus %f %f\n", &options->defocus[0], &options->defocus[1]); |
| 893 | 895 | |
| 894 | | ini_file.gets(buf, 1024); |
| 895 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 896 | | sscanf(buf, "converge_x %f %f %f\n", &options->converge_x[0], &options->converge_x[1], &options->converge_x[2]); |
| 896 | ini_file.gets(buf, 1024); |
| 897 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 898 | sscanf(buf, "converge_x %f %f %f\n", &options->converge_x[0], &options->converge_x[1], &options->converge_x[2]); |
| 897 | 899 | |
| 898 | | ini_file.gets(buf, 1024); |
| 899 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 900 | | sscanf(buf, "converge_y %f %f %f\n", &options->converge_y[0], &options->converge_y[1], &options->converge_y[2]); |
| 900 | ini_file.gets(buf, 1024); |
| 901 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 902 | sscanf(buf, "converge_y %f %f %f\n", &options->converge_y[0], &options->converge_y[1], &options->converge_y[2]); |
| 901 | 903 | |
| 902 | | ini_file.gets(buf, 1024); |
| 903 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 904 | | sscanf(buf, "radial_converge_x %f %f %f\n", &options->radial_converge_x[0], &options->radial_converge_x[1], &options->radial_converge_x[2]); |
| 904 | ini_file.gets(buf, 1024); |
| 905 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 906 | sscanf(buf, "radial_converge_x %f %f %f\n", &options->radial_converge_x[0], &options->radial_converge_x[1], &options->radial_converge_x[2]); |
| 905 | 907 | |
| 906 | | ini_file.gets(buf, 1024); |
| 907 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 908 | | sscanf(buf, "radial_converge_y %f %f %f\n", &options->radial_converge_y[0], &options->radial_converge_y[1], &options->radial_converge_y[2]); |
| 908 | ini_file.gets(buf, 1024); |
| 909 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 910 | sscanf(buf, "radial_converge_y %f %f %f\n", &options->radial_converge_y[0], &options->radial_converge_y[1], &options->radial_converge_y[2]); |
| 909 | 911 | |
| 910 | | ini_file.gets(buf, 1024); |
| 911 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 912 | | sscanf(buf, "red_ratio %f %f %f\n", &options->red_ratio[0], &options->red_ratio[1], &options->red_ratio[2]); |
| 912 | ini_file.gets(buf, 1024); |
| 913 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 914 | sscanf(buf, "red_ratio %f %f %f\n", &options->red_ratio[0], &options->red_ratio[1], &options->red_ratio[2]); |
| 913 | 915 | |
| 914 | | ini_file.gets(buf, 1024); |
| 915 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 916 | | sscanf(buf, "grn_ratio %f %f %f\n", &options->grn_ratio[0], &options->grn_ratio[1], &options->grn_ratio[2]); |
| 916 | ini_file.gets(buf, 1024); |
| 917 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 918 | sscanf(buf, "grn_ratio %f %f %f\n", &options->grn_ratio[0], &options->grn_ratio[1], &options->grn_ratio[2]); |
| 917 | 919 | |
| 918 | | ini_file.gets(buf, 1024); |
| 919 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 920 | | sscanf(buf, "blu_ratio %f %f %f\n", &options->blu_ratio[0], &options->blu_ratio[1], &options->blu_ratio[2]); |
| 920 | ini_file.gets(buf, 1024); |
| 921 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 922 | sscanf(buf, "blu_ratio %f %f %f\n", &options->blu_ratio[0], &options->blu_ratio[1], &options->blu_ratio[2]); |
| 921 | 923 | |
| 922 | | ini_file.gets(buf, 1024); |
| 923 | | sscanf(buf, "saturation %f\n", &options->saturation); |
| 924 | ini_file.gets(buf, 1024); |
| 925 | sscanf(buf, "saturation %f\n", &options->saturation); |
| 924 | 926 | |
| 925 | | ini_file.gets(buf, 1024); |
| 926 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 927 | | sscanf(buf, "offset %f %f %f\n", &options->offset[0], &options->offset[1], &options->offset[2]); |
| 927 | ini_file.gets(buf, 1024); |
| 928 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 929 | sscanf(buf, "offset %f %f %f\n", &options->offset[0], &options->offset[1], &options->offset[2]); |
| 928 | 930 | |
| 929 | | ini_file.gets(buf, 1024); |
| 930 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 931 | | sscanf(buf, "scale %f %f %f\n", &options->scale[0], &options->scale[1], &options->scale[2]); |
| 931 | ini_file.gets(buf, 1024); |
| 932 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 933 | sscanf(buf, "scale %f %f %f\n", &options->scale[0], &options->scale[1], &options->scale[2]); |
| 932 | 934 | |
| 933 | | ini_file.gets(buf, 1024); |
| 934 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 935 | | sscanf(buf, "power %f %f %f\n", &options->power[0], &options->power[1], &options->power[2]); |
| 935 | ini_file.gets(buf, 1024); |
| 936 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 937 | sscanf(buf, "power %f %f %f\n", &options->power[0], &options->power[1], &options->power[2]); |
| 936 | 938 | |
| 937 | | ini_file.gets(buf, 1024); |
| 938 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 939 | | sscanf(buf, "floor %f %f %f\n", &options->floor[0], &options->floor[1], &options->floor[2]); |
| 939 | ini_file.gets(buf, 1024); |
| 940 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 941 | sscanf(buf, "floor %f %f %f\n", &options->floor[0], &options->floor[1], &options->floor[2]); |
| 940 | 942 | |
| 941 | | ini_file.gets(buf, 1024); |
| 942 | | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 943 | | sscanf(buf, "phosphor_life %f %f %f\n", &options->phosphor[0], &options->phosphor[1], &options->phosphor[2]); |
| 943 | ini_file.gets(buf, 1024); |
| 944 | for(int idx = 0; idx < strlen(buf); idx++) if(buf[idx] == ',') buf[idx] = ' '; |
| 945 | sscanf(buf, "phosphor_life %f %f %f\n", &options->phosphor[0], &options->phosphor[1], &options->phosphor[2]); |
| 944 | 946 | |
| 945 | | ini_file.gets(buf, 1024); |
| 946 | | sscanf(buf, "yiq_enable %d\n", &en); |
| 947 | | options->yiq_enable = en == 1; |
| 947 | ini_file.gets(buf, 1024); |
| 948 | sscanf(buf, "yiq_enable %d\n", &en); |
| 949 | options->yiq_enable = en == 1; |
| 948 | 950 | |
| 949 | | ini_file.gets(buf, 1024); |
| 950 | | sscanf(buf, "yiq_cc %f\n", &options->yiq_cc); |
| 951 | ini_file.gets(buf, 1024); |
| 952 | sscanf(buf, "yiq_cc %f\n", &options->yiq_cc); |
| 951 | 953 | |
| 952 | | ini_file.gets(buf, 1024); |
| 953 | | sscanf(buf, "yiq_a %f\n", &options->yiq_a); |
| 954 | ini_file.gets(buf, 1024); |
| 955 | sscanf(buf, "yiq_a %f\n", &options->yiq_a); |
| 954 | 956 | |
| 955 | | ini_file.gets(buf, 1024); |
| 956 | | sscanf(buf, "yiq_b %f\n", &options->yiq_b); |
| 957 | ini_file.gets(buf, 1024); |
| 958 | sscanf(buf, "yiq_b %f\n", &options->yiq_b); |
| 957 | 959 | |
| 958 | | ini_file.gets(buf, 1024); |
| 959 | | sscanf(buf, "yiq_o %f\n", &options->yiq_o); |
| 960 | ini_file.gets(buf, 1024); |
| 961 | sscanf(buf, "yiq_o %f\n", &options->yiq_o); |
| 960 | 962 | |
| 961 | | ini_file.gets(buf, 1024); |
| 962 | | sscanf(buf, "yiq_p %f\n", &options->yiq_p); |
| 963 | ini_file.gets(buf, 1024); |
| 964 | sscanf(buf, "yiq_p %f\n", &options->yiq_p); |
| 963 | 965 | |
| 964 | | ini_file.gets(buf, 1024); |
| 965 | | sscanf(buf, "yiq_n %f\n", &options->yiq_n); |
| 966 | ini_file.gets(buf, 1024); |
| 967 | sscanf(buf, "yiq_n %f\n", &options->yiq_n); |
| 966 | 968 | |
| 967 | | ini_file.gets(buf, 1024); |
| 968 | | sscanf(buf, "yiq_y %f\n", &options->yiq_y); |
| 969 | ini_file.gets(buf, 1024); |
| 970 | sscanf(buf, "yiq_y %f\n", &options->yiq_y); |
| 969 | 971 | |
| 970 | | ini_file.gets(buf, 1024); |
| 971 | | sscanf(buf, "yiq_i %f\n", &options->yiq_i); |
| 972 | ini_file.gets(buf, 1024); |
| 973 | sscanf(buf, "yiq_i %f\n", &options->yiq_i); |
| 972 | 974 | |
| 973 | | ini_file.gets(buf, 1024); |
| 974 | | sscanf(buf, "yiq_q %f\n", &options->yiq_q); |
| 975 | ini_file.gets(buf, 1024); |
| 976 | sscanf(buf, "yiq_q %f\n", &options->yiq_q); |
| 975 | 977 | |
| 976 | | ini_file.gets(buf, 1024); |
| 977 | | sscanf(buf, "yiq_scan_time %f\n", &options->yiq_scan_time); |
| 978 | ini_file.gets(buf, 1024); |
| 979 | sscanf(buf, "yiq_scan_time %f\n", &options->yiq_scan_time); |
| 978 | 980 | |
| 979 | | ini_file.gets(buf, 1024); |
| 980 | | sscanf(buf, "yiq_phase_count %d\n", &options->yiq_phase_count); |
| 981 | ini_file.gets(buf, 1024); |
| 982 | sscanf(buf, "yiq_phase_count %d\n", &options->yiq_phase_count); |
| 983 | } |
| 981 | 984 | } |
| 982 | 985 | } |
| 983 | 986 | } |
| r20085 | r20086 | |
| 2055 | 2058 | // hlsl_info::delete_resources |
| 2056 | 2059 | //============================================================ |
| 2057 | 2060 | |
| 2058 | | void hlsl_info::delete_resources() |
| 2061 | void hlsl_info::delete_resources(bool reset) |
| 2059 | 2062 | { |
| 2060 | 2063 | if (!master_enable || !d3dintf->post_fx_available) |
| 2061 | 2064 | return; |
| 2062 | 2065 | |
| 2063 | | if(write_ini) |
| 2066 | if(write_ini && !reset) |
| 2064 | 2067 | { |
| 2065 | 2068 | emu_file file(downcast<windows_options &>(window->machine().options()).screen_post_fx_dir(), OPEN_FLAG_WRITE | OPEN_FLAG_CREATE | OPEN_FLAG_CREATE_PATHS); |
| 2066 | 2069 | file_error filerr = open_next((d3d_info*)window->drawdata, file, downcast<windows_options &>(window->machine().options()).hlsl_ini_name(), "ini", 0); |
| r20085 | r20086 | |
| 2116 | 2119 | file.printf("yiq_phase_count %d\n", options->yiq_phase_count); |
| 2117 | 2120 | } |
| 2118 | 2121 | |
| 2122 | while (targethead != NULL) |
| 2123 | { |
| 2124 | remove_render_target(targethead); |
| 2125 | } |
| 2126 | |
| 2119 | 2127 | if (effect != NULL) |
| 2120 | 2128 | { |
| 2121 | 2129 | (*d3dintf->effect.release)(effect); |
| r20085 | r20086 | |
| 2167 | 2175 | yiq_decode_effect = NULL; |
| 2168 | 2176 | } |
| 2169 | 2177 | |
| 2170 | | for (int index = 0; index < 9; index++) |
| 2171 | | { |
| 2172 | | } |
| 2173 | | |
| 2174 | 2178 | if (avi_copy_texture != NULL) |
| 2175 | 2179 | { |
| 2176 | 2180 | (*d3dintf->texture.release)(avi_copy_texture); |